当前位置:  开发笔记 > 编程语言 > 正文

如何使用一个laravel安装来处理子域

如何解决《如何使用一个laravel安装来处理子域》经验,为你挑选了2个好方法。

我正在创建一个laravel项目,我需要一个laravel安装,并在子域中使用其实例与单独的数据库.那些单独的数据库信息将不在config/database.php中.它将从master数据库获取,然后重新连接到其他数据库.

我没有找到任何正确的方法来做到这一点.

你对此有什么想法吗?

谢谢你的时间.



1> noodles_ftw..:

Laravel支持多个数据库连接.首先,在config/database.php以下位置定义连接:

 '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在模型中设置属性:



您可以以$connection编程方式设置值.



2> oseintow..:

多租户是一个棘手的架构,需要注意建模.有几种方法可以实现这种架构.有些人决定使用单个数据库,而有些人则更喜欢使用多个数据库(在您的情况下).

他们都有自己需要考虑的利弊.在开始建模应用程序之前,需要考虑很多因素.例如,子域的虚拟主机配置,数据库迁移(在需要时回滚所有数据库等).我将建议这两个软件包可以帮助您前进,并让您更深入地了解如何为您的应用程序建模以满足您的需求.

https://github.com/orchestral/tenanti

https://github.com/hyn/multi-tenant

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有