【发布时间】:2016-01-16 15:23:47
【问题描述】:
我正在创建一个多租户应用程序,在该应用程序中,我基于子域连接到该特定租户的数据库。
这是执行此操作的代码:
// To connect with a subdomain - the entry will be in config/database.php.
public static function connectSubdomainDatabase($dbname)
{
$res = DB::select("show databases like '{$dbname}'");
if (count($res) == 0) {
App::abort(404);
}
Config::set('database.connections.subdomain.database', $dbname);
//If you want to use query builder without having to specify the connection
Config::set('database.default', 'subdomain');
DB::reconnect('subdomain');
}
这是连接数据库的最佳方式还是有什么问题,因为我从性能的角度考虑,因为每次连接数据库时都有不同的子域。最好的方法是什么?
【问题讨论】:
-
如果你可以使用共享数据库多租户模式,已经为 laravel 做了一些工作。 github.com/AuraEQ/laravel-multi-tenant
-
@user993553 是的,我之前检查过,但正如我在标签中提到的那样,我希望它用于 Laravel-5.1,并且包是 4.2+
-
找到另一个github.com/orchestral/tenanti 与 5 一起使用
-
其实我已经开发了很多不想集成其他包所以只是问这是最好的方法。我
标签: php laravel-5.1 multi-tenant