Outils pour utilisateurs

Outils du site


devweb:laravel:database (lu 12026 fois)

Ceci est une ancienne révision du document !


Database

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

Pour plusieurs base de données

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';
}
devweb/laravel/database.1390384084.txt.gz · Dernière modification: 22-01-2014 10:48 de edmc73