Laravel 5:如何使用远程模型?
问题描述:
我想创建一个外部API))的模型,这将让我跑操作,如GET(其中,(等一个例子:Laravel 5:如何使用远程模型?
$users = UserFromApi::get(); // Get all users from api
$activeUsers = UserFromApi::where('active', 1)->get();
我来Laravel从CakePHP的。在CakePHP中,它是通过为模型提供自定义数据源和连接完成的。
对于Laravel 4,有一个很好的库叫Trucker(https://github.com/indatus/trucker),但我发现绝对没有其他合理的L5工具。
“将模型映射到外部API”问题的正确方法是什么?
答
在config/database.php中定义远程连接。
'mysql_remote' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
然后,如果你使用的是口才模型
class UserFromApi extends Eloquent {
protected $connection = 'mysql_remote';
}
,或者使用查询构建器
DB::connection('mysql_remote')->table('users')->select('email','surname')->get()
答
加入卡车司机到您的供应商; )
卡车司机现在支持Laravel 5
按照以下说明配置Laravel 5 https://github.com/Indatus/trucker/tree/laravel-5#config-laravel
- 添加
"indatus/trucker": "dev-laravel-5"
到composer.json和运行composer update
- 在配置/ app.php
希望帮助粘贴'Trucker\TruckerServiceProvider::class'
发布的配置文件php artisan vendor:publish indatus/trucker
卡车司机现在支持Laravel 5 https://github.com/Indatus/trucker/tree/laravel-5#config-laravel –