Cela se produit parce que la relation existsTo n'exécute pas de join
requête comme vous l'attendez (comme vous pouvez le voir à partir de l'erreur que vous obtenez). Il exécute une autre requête pour obtenir le ou les modèles associés. En tant que tel, vous ne pourrez pas classer le modèle d'origine par colonnes de modèles associés.
En gros, 2 requêtes se produisent :
-
Récupérez le modèle d'origine avec
SELECT * from originalModel ...*
-
Récupérez les modèles associés avec
SELECT * from relatedModel where in id (originalModelForeignKeys)
Ensuite, Laravel fait un peu de magie et attache les modèles de la 2ème requête aux modèles corrects de la première requête.
Vous devrez effectuer une véritable join
pour pouvoir commander comme vous le souhaitez.