pin-cnx / orientdb-laravel-5
Laravel Orientdb Driver
Requires
- sgpatil/orientdb-php: dev-master
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: 4.2.*
This package is auto-updated.
Last update: 2024-12-18 01:25:46 UTC
README
Orientdb Graph Eloquent Driver for Laravel 5
Quick Reference
- Requirements
- Installation
- [Configuration](#Database Configuration)
- Migration
- Relationships
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.