pin-cnx/orientdb-laravel-5

Laravel Orientdb Driver

dev-master 2016-03-08 13:37 UTC

This package is auto-updated.

Last update: 2024-10-18 01:13:42 UTC


README

Orientdb Graph Eloquent Driver for Laravel 5

Quick Reference

Requirements

  • Laravel 5.1 or above
  • Orientdb Server 2.1 or above

Installation

Add the package to your composer.json and run composer update.

{
    "require": {
        "sgpatil/orientdb-laravel-5": "dev-master"
    }
}

Add the service provider in config/app.php:

Sgpatil\Orientdb\OrientdbServiceProvider::class,

This will register all the required classes for this package.

Database Configuration

Open config/database.php make orientdb your default connection:

'default' => 'orientdb',
'default_nosql' => 'orientdb', //optional if you are using orientdb as a secondary connection

Add the connection defaults:

'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.

Migration

To create a migration, you may use the orient command on the Artisan CLI:

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.

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:

php artisan orient:make add_votes_to_users_table --table=users_votes

php artisan orient:make create_users_table --create=users

To run migration

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.

To fetch all records

$users = User::all();
foreach($users as $user){
        echo $user->id;
        echo $user->name;
        echo $user->email;
    }

To find a record

$user = User::find(1);

To update a record

$user = User::find(1);
$user->name = "New Name";
$user->save();

Relationships

To create one-to-one relationship

$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.

Want to learn more? See the wiki.