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:
-
Obtenga el modelo original con
SELECT * from originalModel ...*
-
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.