为模型设置数据库?

Dan*_*Dan 9 laravel eloquent laravel-4

我正在开发一个基于Laravel 4的站点,该站点可以在多个数据库上运行.我需要在每个从不同数据库中提取记录的请求上运行一个查询.

有没有办法我可以某种方式将这个特定的模型绑定到另一个数据库,所以我可以像往常一样检索它?

$client = Client::find(Session::get('client_id'));
Run Code Online (Sandbox Code Playgroud)

任何建议表示赞赏

谢谢

And*_*yco 27

// Model
class Client extends Eloquent
{
    protected $connection = 'masterDb';
}


// config/database.php
'masterDb' => array(
    'driver'    => 'mysql',
    'host'      => 'localhost',
    'database'  => 'name',
    'username'  => 'user',
    'password'  => 'pass',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
),
Run Code Online (Sandbox Code Playgroud)

您可以根据需要创建任意数量的命名连接.将其中一个设置为默认值,每个模型稍后可以使用这些连接中的任何一个.

  • 当使用 DB::table 语法时,你需要这样做:`DB::connection('masterDb')->table("client")` (2认同)