Orientdb Driver for Laravel 5
Oriquent is Orientdb Eloquent Driver for Laravel 5, (*1)
Version Naming
The version tagging convention which we are following is vX.Y.x.y where, (*2)
X => Laravel Major Release
Y => Laravel Minor Release
x => Oriquent Major Release
y => Oriquent Minor Release
So to install oriquent on Laravel 5.4 you will need to install v5.4.*.*, (*3)
and to install oriquent on Laravel 5.3 you will need to install v5.3.*.*, (*4)
Note : Branch dev-master will always point to latest release. Currently pointing to Laravel 5.4, (*5)
You can check complete installation guide in Installation Section., (*6)
Quick Reference
Requirements
- Laravel 5.2
- Orientdb Server 2.1 or above
Installation
STEP 1 :, (*7)
Add the package to your composer.json and run composer update., (*8)
{
"require": {
"sgpatil/oriquent": "dev-master"
}
}
OR, (*9)
Run below command in terminal, (*10)
$ composer require sgpatil/oriquent
STEP 2 :, (*11)
Add the service provider in config/app.php:, (*12)
Sgpatil\Orientdb\OrientdbServiceProvider::class,
This will register all the required classes for this package., (*13)
Database Configuration
Open config/database.php
make orientdb your default connection:, (*14)
'default' => 'orientdb',
And optionally, if you want to use orientdb as a secondary connection, (*15)
'default_nosql' => 'orientdb',
Add the connection defaults:, (*16)
'connections' => [
'orientdb' => [
'driver' => 'orientdb',
'host' => 'localhost',
'port' => '2480',
'database' => 'database_name',
'username' => 'root',
'password' => 'root'
]
]
Add your database username and password in 'username' and 'password' field. In 'database_name' add name of orientdb database which you want to connect and use., (*17)
Migration
To create a migration, you may use the orient command on the Artisan CLI:, (*18)
php artisan orient:make create_users_table
The migration will be placed in your database/migrations folder, and will contain a timestamp which allows the framework to determine the order of the migrations., (*19)
The --table and --create options may also be used to indicate the name of the table, and whether the migration will be creating a new table:, (*20)
php artisan orient:make add_votes_to_users_table --table=users_votes
php artisan orient:make create_users_table --create=users
To run migration, (*21)
php artisan orient:migrate
How to Use
// To insert a record
class User extends \Orientdb {
protected $fillable = ['name', 'email'];
}
$user = User::create(['name' => 'Some Name', 'email' => 'some@email.com']);
You can use this by extending Orientdb into model class., (*22)
To fetch all records, (*23)
$users = User::all();
foreach($users as $user){
echo $user->id;
echo $user->name;
echo $user->email;
}
To find a record, (*24)
$user = User::find(1);
To update a record, (*25)
$user = User::find(1);
$user->name = "New Name";
$user->save();
Relationships
To create one-to-one relationship, (*26)
$user = User::create(['name'=>"Sumit", 'email' => "demo@email.com"]); // Create User node
$phone = new Phone(['code' => 963, 'number' => '98555533']); // Create Phone node
$relation = $user->has_phone()->save($phone); // Creating relationship
Unable to find has_phone() method ? See full example., (*27)
Want to learn more? See the wiki., (*28)