Dies liegt daran, dass die „gehört zu“-Beziehung keinen join
ausführt Abfrage, wie Sie es erwarten (wie Sie aus dem Fehler sehen können, den Sie erhalten). Es führt eine weitere Abfrage aus, um das/die zugehörige(n) Modell(e) abzurufen. Daher können Sie das Originalmodell nicht nach verwandten Modellspalten bestellen.
Grundsätzlich passieren 2 Abfragen:
-
Holen Sie sich das Originalmodell mit
SELECT * from originalModel ...*
-
Rufen Sie die verwandten Modelle mit
SELECT * from relatedModel where in id (originalModelForeignKeys)
ab
Dann zaubert Laravel etwas und hängt die Modelle aus der zweiten Abfrage an die richtigen Modelle aus der ersten Abfrage an.
Sie müssen einen tatsächlichen join
durchführen
um so bestellen zu können, wie Sie es möchten.