我正在创建一个laravel项目,我需要one laravel installation个,并使用其子域中的separate database个实例.而这些单独数据库的信息将不在config/database中.php.它将从主数据库获取,然后重新连接到另一个数据库.
我找不到合适的方法.
你知道这件事吗?
谢谢你抽出时间.
我正在创建一个laravel项目,我需要one laravel installation个,并使用其子域中的separate database个实例.而这些单独数据库的信息将不在config/database中.php.它将从主数据库获取,然后重新连接到另一个数据库.
我找不到合适的方法.
你知道这件事吗?
谢谢你抽出时间.
Laravel支持多个数据库连接.首先,在config/database.php
中定义连接:
<?php
return array(
'default' => 'default_connection',
'connections' => array(
// domain.com
'default_connection' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'primary_database',
'username' => 'username',
'password' => 'password'
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
// sub.domain.com
'subdomain_connection' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'secondary_database',
'username' => 'username',
'password' => 'password'
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
),
);
现在,要指定模型应使用的连接,可以在模型中设置$connection
属性:
<?php
class YourModel extends Eloquent {
protected $connection = 'subdomain_connection';
}
可以通过编程设置$connection
的值.