У меня есть следующие 2 таблицы:Laravel Eloquent заказ с использованием данных Relation
Cars
----
id | created_at
and
Repaired
id | cars_id | updated_at
Я хочу, чтобы отобразить все автомобили, заказанные created_at
по алфавиту, но и по заказу updated_at
из таблицы Repaired
поворота. Отремонтированный может иметь много записей конкретных cars_id
.
Так что если carA
является created_at 2017-02-20
и carB
является created_at 2016-01-10
, но updated_at
в Капремонт для carB
на 2017-02-22
, я хочу, чтобы отобразить carB
ПЕРЕД carA
, потому что отношение «новее».
Я также не хочу загружать данные из таблицы отношений.
Я попытался follwing:
$cars = $model->load(['repaired' => function($query) {
return $query->orderBy('updated_at', 'desc');
}])->orderBy('created_at', 'desc');
и
$model->join('repaired', 'repaired.cars_id', '=', 'cars.id')
->orderBy('repaired.updated_at', 'desc')
->orderBy('cars.created_at', 'desc')
->select('cars.*');
^этот запрос возвращает все элементы из таблицы После ремонта, даже если updated_at
поле NULL
. И я не могу их сгруппировать.
Вы что-то пробовали? – Sebastian