romeoz/rock-db

Object Relational Mapping (ORM) for PHP.

0.15.0 2015-11-09 03:36 UTC

README

Independent fork by Yii2 Database 2.0.4.

Latest Stable Version Total Downloads Build Status HHVM Status Coverage Status License

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

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.