讓說我有在應用中的以下數據庫設置/配置/ database.php中有沒有辦法在laravel 4中爲同一個函數下的所有連接設置db連接設置?
'default' => 'mysql',
'connections' => array(
# Our primary database connection
'mysql' => array(
'driver' => 'mysql',
'host' => 'host1',
'database' => 'database1',
'username' => 'user1',
'password' => 'pass1'
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
# Our secondary database connection
'mysql2' => array(
'driver' => 'mysql',
'host' => 'host2',
'database' => 'database2',
'username' => 'user2',
'password' => 'pass2'
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
),
從laravel的官方指南,也有一些方法來選擇要使用的連接設置。將它設置時,我需要進行連接,
$users = DB::connection('mysql2')->select(...);
或將其設置在模型:
class SomeModel extends Eloquent {
protected $connection = 'mysql2';
}
就我而言,我已經複製數據庫,針對不同的用戶相同的架構,所以它是不可能在模型中設置它。有沒有辦法爲同一個函數下的所有連接選擇連接設置,以便我可以將它放在filter/baseController中並在運行時設置連接?
最後的解決方案只改變了該模式下連接的設置。如果我連接不同的模型,我仍然需要重新設置。這比每次設置都好,但我想要一勞永逸的解決方案。 – cytsunny