由於需要內容本地化,每個可本地化模型的數據被分成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