romeoz / rock-mongodb
Object Document Mapper (ODM) for MongoDB.
0.15.0
2015-11-07 19:30 UTC
Requires
- php: >=5.4.0
- romeoz/rock-db-common: 0.14.*
Requires (Dev)
- phpunit/phpunit: ^4.7.0
- romeoz/rock-cache: 0.15.*
- romeoz/rock-dataprovider: 0.11.*
- romeoz/rock-sanitize: 0.11.*
- romeoz/rock-validate: 0.12.*
Suggests
- romeoz/rock-behaviors: required for using behaviors a model
- romeoz/rock-cache: required for caching queries
- romeoz/rock-dataprovider: required for Data provider
- romeoz/rock-sanitize: required for sanitization rules a model
- romeoz/rock-validate: required for validation rules a model
README
This extension requires MongoDB PHP Extension version 1.5.0 or higher.
Standalone fork by Yii2 MongoDB 2.0.4.
Features
- Query Builder/DBAL/DAO: Querying the database using a simple abstraction layer
- Active Record: The Active Record ODM, retrieving and manipulating records, and defining relations
- Support MongoGridFS
- Behaviors (SluggableBehavior, TimestampBehavior,...)
- Data Provider
- Validation and Sanitization rules for AR (Model)
- Caching queries
- Standalone module/component for Rock Framework
Bolded features are different from Yii2 MongoDB.
Installation
From the Command Line:
composer require romeoz/rock-mongodb
In your composer.json:
{ "require": { "romeoz/rock-mongodb": "*" } }
Quick Start
####Query Builder
$rows = (new \rock\mongodb\Query) ->from('users') ->all();
####Active Record
// find $users = Users::find() ->where(['status' => Users::STATUS_ACTIVE]) ->orderBy('id') ->all(); // insert $users = new Users(); $users->name = 'Tom'; $users->save();
Documentation
- Basic: Connecting to a database, basic queries, query builder, and Active Record
- Data Providers
Requirements
- PHP 5.4+
- For validation rules a model required Rock Validate:
composer require romeoz/rock-validate
- For sanitization rules a model required Rock Sanitize:
composer require romeoz/rock-sanitize
- For using behaviors a model required Rock Behaviors:
composer require romeoz/rock-behaviors
- For using Data Provider required Rock Data Provider:
composer require romeoz/rock-dataprovider
- For caching queries required Rock Cache:
composer require romeoz/rock-cache
All unbolded dependencies is optional
License
The Object Document Mapping (ODM) for MongoDB is open-sourced software licensed under the MIT license.