sql >> Base de Datos >  >> RDS >> Mysql

Cómo usar orderby en un elemento que se unió con el método Eloquent de Laravel CON

Esto sucede porque la relación pertenece a no ejecuta un join consulta como esperas (como puedes ver en el error que obtienes). Ejecuta otra consulta para obtener los modelos relacionados. Como tal, no podrá ordenar el modelo original por columnas de modelos relacionados.

Básicamente, ocurren 2 consultas:

  1. Obtenga el modelo original con SELECT * from originalModel ...*

  2. Obtenga los modelos relacionados con SELECT * from relatedModel where in id (originalModelForeignKeys)

Luego, Laravel hace algo de magia y adjunta los modelos de la segunda consulta a los modelos correctos de la primera consulta.

Deberá realizar una join para poder pedirlo como quieras.