由于需要内容本地化,每个可本地化模型的数据被分成2个表格,包含基本和可本地化的字段。所以我加入了代码清除的全局范围。但是现在,如果我试图加入另一个本地化表格,我得到这个错误。Laravel全球范围和多个连接
Undefined table: 7 ERROR: missing FROM-clause entry for table "posts"
故障码:
$news = Post::orderIdDesc()
->innerJoin('organizations', 'organization','id')
->where('posts.organization', '=', $orgId)
->select('*')
->take(3)
->get();
返回此SQL:
select * from "posts_uk"
inner join "organizations" on "posts"."organization" = "organizations"."id"
inner join "organizations_uk" on "organizations_uk"."id" = "organizations"."id"
inner join "posts" on "posts_uk"."id" = "posts"."id"
where "posts"."organization" = 1
order by "posts_uk"."id" desc limit 3
正如你所看到的,Post模型的另一部分在全球范围内加入,附加在查询结束,导致提到的错误。
也许有一些方法可以使全局范围预先在开始时加入,或者任何其他适用的分辨率。
THX
在Laravel 5.3。你到底怎么解决它? – Erin