romeoz / rock-db
Object Relational Mapping (ORM) for PHP.
Installs: 1 010
Dependents: 4
Suggesters: 1
Security: 0
Stars: 5
Watchers: 2
Forks: 0
Open Issues: 0
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
Independent fork by Yii2 Database 2.0.4.
Features
- Supports the following databases out of box:
- Query Builder/DBAL/DAO: Querying the database using a simple abstraction layer
- Active Record: The Active Record ORM, retrieving and manipulating records, and defining relations
- Migrations
- 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 Database.
Installation
From the Command Line:
composer require romeoz/rock-db
In your composer.json:
{ "require": { "romeoz/rock-db": "*" } }
Quick Start
####Query Builder
$rows = (new \rock\db\Query()) ->select('id, name') ->from('users') ->limit(10) ->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, transactions, and schema manipulation
- Query Builder
- Active Record
- Migrations: Apply version control to your databases in a team development environment
- 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 Relational Mapping (ORM) is open-sourced software licensed under the MIT license.