Laravel 5.1 动态数据库连接

Laravel 5.1 dynamic database connection

我正在使用 laravel5.1 和 mongoDb。在我的应用程序中,每个用户都有单独的数据库。

当用户登录时,我使用 Config::set('Key' : 'Value').

根据用户数据库设置数据库

当我尝试使用 Config::get('database) 获取当前数据库连接时,一切正常,但是当我尝试从数据库获取数据时,它 return 默认数据库数据。

您必须按如下方式覆盖模型中的 connection 属性:

<?php

namespace App\Models;

class Model extends \Illuminate\Database\Eloquent\Model
{
    protected $connection = 'your_connection_name_from_database_config';
}

您也可以通过调用 $model->setConnection('mongo');

动态设置此值

希望对您有所帮助。

DB::purge('mongodb-name'); 我在 Config::set("Key","value") 之后用过这个。 它对我有用。