An Eloquent model and query builder with support for Restful Api Server using the original Laravel API. This library extends the original Laravel classes, so it uses exactly the same methods. Supports relationships to other models with methods like hasMany, belongsTo, etc.
Works great with other Laravel instances.
Installation using composer:
composer require netbuild/apidriver
And add the service provider in config/app.php
:
Netbuild\Apidriver\ApiDbServiceProvider::class
Change your default database connection name in config/database.php
:
'default' => 'api'
And add a new api server connection:
'api' => [
'driver' => 'api',
]
Create new Model extend Api Eloquent Model:
use Netbuild\Apidriver\Eloquent\Model;
class User extends Model
{
protected $url = 'https://api.your_restful.url';
protected $api_token = 'YOUR_API_TOKEN';
protected $table = 'REMOTE_MODEL';
}
Using the original Eloquent API:
$users = User::where('id', '<', 100)->take(3)->get();
or
$users = User::where('column_1', '=', 'your_term_1')->orWhere('column_1', '=', 'your_term_2')->take(3)->get();
or
$user = User::find(3);
or
$user->delete();
Model User
<?php
namespace App\Models\API;
use Netbuild\Apidriver\Eloquent\Model;
class User extends Model
{
protected $connection = 'api';
protected $url = 'https://api.your_restful.url';
protected $api_token = 'YOUR_API_TOKEN';
protected $table = 'REMOTE_MODEL';
public $timestamps = true;
}
Model Database
<?php
namespace App\Models\API;
use Netbuild\Apidriver\Eloquent\Model;
class Database extends Model
{
protected $connection = 'api';
protected $url = 'https://api.your_restful.url';
protected $api_token = 'YOUR_API_TOKEN';
protected $table = 'REMOTE_MODEL';
public $timestamps = true;
public function user()
{
return $this->belongsTo(User::class);
}
}