Skip to content

romeOz/rock-mongodb

Repository files navigation

ODM for MongoDB

This extension requires MongoDB PHP Extension version 1.5.0 or higher.

Standalone fork by Yii2 MongoDB 2.0.4.

Latest Stable Version Total Downloads Build Status Coverage Status License

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.