覆盖Sentinel的RepositoryTrait

时间:2015-10-21 18:55:36

标签: php database model traits sentinel

为了使用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所以我需要更改为一个不同的文件夹。

对我来说,最好的方法是什么?

0 个答案:

没有答案