Ceci est une ancienne révision du document !
La configuration des bases de données se trouvent dans le fichier app/config/database.php
Définissez votre connexion par défaut
'default' => 'mysql', 'connections' => array( 'sqlite' => array( 'driver' => 'sqlite', 'database' => __DIR__.'/../database/production.sqlite', 'prefix' => '', ), 'mysql' => array( 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'mybdd', 'username' => 'moi', 'password' => 'blabla', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => 'myproject_', ), 'pgsql' => array( 'driver' => 'pgsql', 'host' => 'localhost', 'database' => 'database', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'prefix' => '', 'schema' => 'public', ), 'sqlsrv' => array( 'driver' => 'sqlsrv', 'host' => 'localhost', 'database' => 'database', 'username' => 'root', 'password' => '', 'prefix' => '', ), ),
Même principe, configurez autant de connexion que vous le voulez
'default' => 'mysql', 'connections' => array( 'mysql' => array( 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'mybdd', 'username' => 'moi', 'password' => 'blabla', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => 'myproject_', ), 'mysql2' => array( 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'mybdd2', 'username' => 'moi', 'password' => 'blabla', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => 'myproject_', ), 'mysql3' => array( 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'mybdd3', 'username' => 'moi', 'password' => 'blabla', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => 'myproject_', ), 'pgsql' => array( 'driver' => 'pgsql', 'host' => 'localhost', 'database' => 'database', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'prefix' => '', 'schema' => 'public', ), ),
Ensuite, dans votre code, vous pouvez spécifier votre connexion comme ceci pour les query builder
$user = DB::connection('mysql3')->table('users')->where('id', '=', 1)->first();
ou
$user = User::on('connection-name')->find(1);
Dans les models eloquent
class Toto extends Eloquent { public static $connection = 'mysql2'; }
Don’t use →toSql() for debugging. Use DB::getQueryLog() instead