Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 不同的数据库,相同的站点…使用Laravel_Php_Database_Laravel_Laravel 3 - Fatal编程技术网

Php 不同的数据库,相同的站点…使用Laravel

Php 不同的数据库,相同的站点…使用Laravel,php,database,laravel,laravel-3,Php,Database,Laravel,Laravel 3,对于stackoverflow来说,这可能不是一个合适的问题……因为它可能太具体了 但我想知道是否有人知道我将如何安装Laravel,为一个站点服务。但根据url,我可以访问不同的数据库 即 www.mainsite.com/company1/login-数据库1 www.mainsite.com/company1/users-数据库1 www.mainsite.com/company2/login-数据库2 www.mainsite.com/company2/users-数据库2 因此,在上

对于stackoverflow来说,这可能不是一个合适的问题……因为它可能太具体了

但我想知道是否有人知道我将如何安装Laravel,为一个站点服务。但根据url,我可以访问不同的数据库

www.mainsite.com/company1/login-数据库1

www.mainsite.com/company1/users-数据库1

www.mainsite.com/company2/login-数据库2

www.mainsite.com/company2/users-数据库2

因此,在上述情况下,所服务的站点是完全相同的站点。 当然,每个部分都有一个登录名,并访问不同的数据库

我知道我可以通过安装多个laravel来做到这一点,而我现在就是这样做的

但我希望能够只更新一个版本…而不必将我的更改复制到所有不同的文件夹

然后,只需将一个站点服务于所有多个不同的公司。 他们只能访问自己的数据库


这可能吗???

您可以在配置中定义多个数据库:

'default' => 'database1',
'connections' => array(
    'database1' => array(
        'driver'   => 'mysql',
        'host'     => 'localhost',
        'database' => 'database1',
        'username' => 'root',
        'password' => '',
        'charset'  => 'utf8',
        'prefix'   => '',
    ),

    'database2' => array(
        'driver'   => 'mysql',
        'host'     => 'localhost',
        'database' => 'database2',
        'username' => 'root',
        'password' => '',
        'charset'  => 'utf8',
        'prefix'   => '',
    ),

), 
然后使用fluent进行查询:

$user = DB::connection('database2')->table('users')->where('id', '=', 1)->first();
也许您可以使用以下环境:

$environments = array(
  'company1' => array('http://server.com/company1*'),
  'company2' => array('http://server.com/company2*'),
);

然后在配置文件中创建子文件夹,并复制数据库配置文件,以便根据需要进行编辑。

我使用的一种技术是为注册的新客户生成数据库名称,并将其存储在我的主数据库中。此时也将创建并迁移数据库。用户每次登录后,软件都会查找其数据库名称,并使用以下命令动态设置配置:

Config::set(['database.connections.customerid'])


你仍然可以拥有所有的好东西和雄辩的提议,而不是依赖于原始的查询。这也使您无需管理大型配置文件。我还创建了与其架构名称相匹配的资源目录,这样他们就可以拥有一个定制的正面站点,其中包含视图文件和样式,同时运行与其他所有人完全相同的堆栈。

是的,我想过这样做,但你能做有说服力的查询吗?还是说你一直在用生硬流畅的语言?因为我有很多关系都非常依赖雄辩