我正在使用一个自己创建的包。此套装包括一些型号。这些模型应该连接到APP数据库,但由于它是一个包,数据库名称可能不同。
为了解决这个问题,我的包包含一个配置文件,其中存储了数据库名称(连接名称)。
在配置文件中:
return [ 'app_model_db_connection' => 'first_database' ];
这很好,我可以通过以下操作获取配置值:Config::get('myconfig.app_model_db_connection);
现在我想在我的模型中做到这一点:
protected $connection = 'Config::get('package_customview.app_model_db_connection');
但这并不奏效。错误:syntax error, unexpected '(', expecting ',' or ';'
看起来我只能在$connection =
之后添加一个字符串。因为当我这样做的时候:protected $connection = "first_database"
,它是有效的。但是我想从我的配置文件中获取这个值。这有可能吗?
是的,你只需要把它放在模型的构造函数中。
public function __construct(array $attributes = [])
{
parent::__construct($attributes);
$this->connection = 'Config::get('package_customview.app_model_db_connection');
}