我在config / database.php中创建了第二个连接,并且还将创建第三个连接,想知道如何根据登录用户在这些连接之间切换。
配置/ database.php中
'connections' => [
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
'database2' => [
'driver' => 'mysql',
'host' => ('localhost'),
'port' => ('3306'),
'database' => ('database2'),
'username' => ('root'),
'password' => (''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
],
我知道我可以通过这种方式选择我的调制解调器连接,但是你如何命名" database2 "是从登录用户中提取而不是直接在那里放置名称?
class Empresa extends Model
{
protected $connection;
function __construct()
{
return $this->connection = 'database2';
}
}
我试着这样说,但它不起作用。
return $this->connection = Auth::user()->database;
他犯了这个错误。
Empresa.php第16行中的ErrorException:
尝试获取非对象的属性