为模型设置数据库?

时间:2013-07-22 10:08:52

标签: laravel laravel-4 eloquent

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

有没有办法可以将这个特定模型与其他数据库联系起来,以便我可以像往常一样检索它?

$client = Client::find(Session::get('client_id'));

任何建议表示赞赏。

由于

1 个答案:

答案 0 :(得分:26)

// 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'    => '',
),

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