在Laravel中创建动态数据库连接

时间:2018-12-13 05:44:02

标签: database laravel laravel-5 dbconnection

我试图从laravel模型更改数据库连接,

这是我的代码,

namespace App\model;

use Illuminate\Database\Eloquent\Model;

use Config;
use DB;
class Process extends Model
{

    config(['database.connections.newsql' => [
            'host' => '127.0.0.1',
            'password' => '',
            'database' => 'gps_bizspecific',
            'username' => 'root'
        ]]);

但是我遇到了错误

  

语法错误,意外的“ config”(T_STRING),预期功能   (T_FUNCTION)或const(T_CONST)

如何解决这个问题?

  

注意:我不想更新config / database.php。我需要通过   模型中的数据库名称(存储在section变量中)

情况

When a user register in my site it will create a dedicated database for each user, so when each user login to my site i need to fetch datas from corresponding user database

  

我有一个中央数据库,其中包含所有用户详细信息和数据库名称,   当用户登录时,我从中央数据库获取datatabse名称   并将其存储到会话变量中。之后,我需要创建一个   与该新数据库的连接

谢谢。

1 个答案:

答案 0 :(得分:0)

  

只需在 .env 文件

中输入数据库详细信息
DB_CONNECTION=mysql 
DB_HOST=127.0.0.1 DB_PORT=3306
DB_DATABASE=yourdbname 
DB_USERNAME=yourusername 
DB_PASSWORD=password
  

然后输入以下命令

php artisan config:cache