Aufgrund der Notwendigkeit der Inhaltslokalisierung werden die Daten jedes lokalisierbaren Modells in zwei Tabellen aufgeteilt, mit Basis- und lokalisierbaren Feldern. Also fügte ich einen globalen Bereich mit Join für Code Cleaness hinzu. Aber jetzt, wenn ich versuche, einer anderen lokalisierten Tabelle beizutreten, erhalte ich diesen Fehler.Laravel globale Gültigkeitsbereiche und multiple Joins
Undefined table: 7 ERROR: missing FROM-clause entry for table "posts"
Fehlercode:
$news = Post::orderIdDesc()
->innerJoin('organizations', 'organization','id')
->where('posts.organization', '=', $orgId)
->select('*')
->take(3)
->get();
gibt diese 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
Wie Sie, anderer Teil der Post Modells verbunden im globalen Bereich sehen können, hängt am Ende der Abfrage , verursacht erwähnten Fehler.
Vielleicht gibt es eine Möglichkeit, den globalen Gültigkeitsbereich so anzupassen, dass er am Anfang oder bei jeder anderen geeigneten Lösung hinzugefügt werden kann.
Thx
Ich habe das gleiche Problem in Laravel 5.3. Wie hast du es am Ende gelöst? – Erin