У меня есть модель, которую я хочу сортировать на основе свойства отношений.Laravel 5 Сортировка красноречивой модели с отношениями
Основная модель, Resultado
, имеет отношение respondente
, типа belongsTo
и respondente
имеет отношение usuario
.
Я хочу получить Resultado
с этими отношениями и отсортировать результаты по property (column).
Я попытался
$resultados = Diagnostico\Resultado::with('respondente.usuario')
->orderBy('usuarios.name')->get();
но trows "Колонне не найден 'usuarios.name'" ошибка MySQL.
Как я могу отсортировать модель Resultado
на основе ее отношений?
EDIT:
Стол для Resultado
модели diag_resultados
. Как я писал в комментариях, мне пришлось использовать соединение для достижения правильного результата.
Запрос был хорошо сформирован. Но результаты ('-> get()') по-прежнему не отсортированы по имени. Порядок меняется, но не находится в восходящем порядке, что странно. – Caco
Фактически, результаты сортируются по 'Resultado'' id'. – Caco
Я думаю, что Laravel 5 Eloquent ORM не знает, как бороться с подобластями, подобными этому, чтобы инкапсулировать такой метод orderBy в последнем соотношении и вернуться назад, чтобы отсортировать первую модель. Кто-нибудь меня исправит, если я ошибаюсь. Я решил проблему с соединением, применяемым в моей модели Eloquent. – Caco