我正在尝试使用Laravel 5.1中的hasManyThrough关系,但是SQL查询未使用为每个模型定义的连接的适当前缀。我有3个模型,其中2个使用相同的连接,而另一个使用不同的连接。 连接之间唯一的区别是前缀,而数据库相同。
最终的查询逻辑是正确的,但是在连接表时,它使用了 A_ 前缀代替 B_ 前缀。这是 Laravel 的一个 bug/限制吗?有没有解决办法,或者我必须手动连接才能实现想要的功能?
- Model A具有连接A,该连接使用前缀A_
- Model B具有连接B,该连接使用前缀B_
- Model C具有连接B,该连接使用前缀B_
关系:
在Model B内:
public function relationshipWithA()
{
return $this->hasManyThrough(A::class, C::class, 'Cid', 'Aid');
}
最终的查询逻辑是正确的,但是在连接表时,它使用了 A_ 前缀代替 B_ 前缀。这是 Laravel 的一个 bug/限制吗?有没有解决办法,或者我必须手动连接才能实现想要的功能?