为了使用Sentinel的第二个数据库,所有模型必须具有所需的数据库名称的“连接”属性,否则它们将只使用默认数据库(因为它是使用Eloquent ORM构建的)。
目前,Sentinel不提供该选项。无论如何,我想出了如何使它工作:在cartalyst / support / src / Traits / RepositoryTrait.php我编辑了createModel方法:
public function createModel(array $data = [])
{
$class = '\\'.ltrim($this->model, '\\');
$class = new $class($data);
return $class;
}
我在返回行之前添加了以下代码行:
$class->setConnection('second_database_name');
现在,我想让这个更改永久化,所以我不必在下一次更新Sentinel时再次更改代码,而且我也想像往常一样“编写器”安装Sentinel所以我需要更改为一个不同的文件夹。
对我来说,最好的方法是什么?