Isso acontece porque o relacionamento belongsTo não executa um
join
query como você espera (como você pode ver pelo erro que você recebe). Ele executa outra consulta para obter o(s) modelo(s) relacionado(s). Como tal, você não poderá ordenar o modelo original por colunas de modelos relacionados. Basicamente, acontecem 2 consultas:
-
Busque o modelo original comSELECT * from originalModel ...*
-
Busque os modelos relacionados comSELECT * from relatedModel where in id (originalModelForeignKeys)
Então o Laravel faz uma mágica e anexa os modelos da 2ª consulta aos modelos corretos da primeira consulta.
Você precisará realizar uma
join
real
para poder encomendar do jeito que você quer.