romeoz/rock-mongodb

Object Document Mapper (ODM) for MongoDB.

0.15.0 2015-11-07 19:30 UTC

This package is not auto-updated.

Last update: 2024-12-21 17:17:24 UTC


README

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.