小编Kim*_*kis的帖子

在laravel 5.1中使用hasManyThrough关系的模型的不同数据库连接

我试图在laravel 5.1中使用hasManyThrough关系,但sql查询没有使用每个连接中为每个使用的模型定义的适当前缀.我有3个模型2其中使用相同的连接,其中一个使用不同的连接.连接之间的唯一区别是数据库的前缀相同.

  • 模型A具有使用前缀A_的连接A.
  • 模型B有连接B,它使用前缀B_
  • 模型C有连接B,它使用前缀B_

关系:

B型内部:

public function relationshipWithA()
{
    return $this->hasManyThrough(A::class, C::class, 'Cid', 'Aid');
}
Run Code Online (Sandbox Code Playgroud)

最终查询逻辑是正确的,但不是对连接表使用B_前缀,而是使用查询中所有表的A_前缀.

这是laravel的错误/限制吗?有没有解决方案,或者我必须手动加入以实现我想要的?

php mysql query-builder eloquent laravel-5

8
推荐指数
1
解决办法
1003
查看次数

标签 统计

eloquent ×1

laravel-5 ×1

mysql ×1

php ×1

query-builder ×1