我正在开发一个基于Laravel 4的站点,该站点可以在多个数据库上运行。我需要在每个从不同数据库中提取记录的请求上运行一个查询。
有没有办法可以将这个特定模型与其他数据库联系起来,以便我可以像往常一样检索它?
$client = Client::find(Session::get('client_id'));
任何建议表示赞赏。
由于
答案 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' => '',
),
您可以根据需要创建任意数量的命名连接。将其中一个设为默认值, 每个模型可以在以后使用这些连接。