雄辩的关系多重连接

时间:2019-01-15 14:29:19

标签: laravel eloquent

我有一个多连接应用程序。模型Department与模型CutOff位于不同的连接上。

我的CutOff中有一个看起来像这样的关系:

public function department()
{
    $department = new Department();
    $database = $department->getConnection()->getDatabaseName();

    return $this->belongsTo('App\Department', 'department_id',    "$database.department.id");
}

所以我尝试从我的观点这样称呼它...

$cut_off->department->name;

我收到此错误:

  

ErrorException(E_ERROR)

     

SQLSTATE [42000]:语法错误或访问冲突:1064您有一个   您的SQL语法错误;检查与您的手册相对应的手册   MySQL服务器版本,可在'。id =?附近使用正确的语法限制   第1行的1'(SQL:从departments中选择*,其中   departmentsuni_maindepartmentid = 2个限制1)(查看:   C:\ wamp \ www \ university \ resources \ views \ utme \ dashboard \ cut_off \ index.blade.php)

请问我该如何解决?

1 个答案:

答案 0 :(得分:0)

在Department模型上设置protected $connection = 'the_other_db';,使其与database.php中配置的内容匹配

那我就可以使用

public function department()
{
   return $this->belongsTo('App\Department', 'department_id');
}