Nik*_*aut 15 php subdomain laravel laravel-5 laravel-5.1
我正在创建一个laravel项目,我需要一个laravel安装,并在子域中使用其实例与单独的数据库.那些单独的数据库信息将不在config/database.php中.它将从master数据库获取,然后重新连接到其他数据库.
我没有找到任何正确的方法来做到这一点.
你对此有什么想法吗?
谢谢你的时间.
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' => '',
),
),
);
Run Code Online (Sandbox Code Playgroud)
现在要指定模型应该使用哪个连接,可以$connection在模型中设置属性:
<?php
class YourModel extends Eloquent {
protected $connection = 'subdomain_connection';
}
Run Code Online (Sandbox Code Playgroud)
您可以以$connection编程方式设置值.
多租户是一个棘手的架构,需要注意建模.有几种方法可以实现这种架构.有些人决定使用单个数据库,而有些人则更喜欢使用多个数据库(在您的情况下).
他们都有自己需要考虑的利弊.在开始建模应用程序之前,需要考虑很多因素.例如,子域的虚拟主机配置,数据库迁移(在需要时回滚所有数据库等).我将建议这两个软件包可以帮助您前进,并让您更深入地了解如何为您的应用程序建模以满足您的需求.
https://github.com/orchestral/tenanti
https://github.com/hyn/multi-tenant
| 归档时间: |
|
| 查看次数: |
2224 次 |
| 最近记录: |