Как заказать в коллекции отношений для вывода grocery.name
? Теперь он просто сортируется по родительскому идентификатору по умолчанию, что меня не интересует.
Я пытался изменить этот контроллер ...
Вот так это выглядело
public function indexalpha()
{
$list = DailyList::with('grocery')->where('completed', 0)->get();
return $list;
}
И это мои изменения, где я хочу изменить имя grocery.name для вывода его в алфавитном порядке
public function indexalpha()
{
$list = DailyList::with(['grocery' => function ($q) {
$q->orderBy('name', 'desc');
}])->where('completed', 0)->get();
return $list;
}
Мой вывод выглядит так, как если бы он был по идентификатору
[
{
"id": 554, // this is apparently the default sorting
"grocery_id": 110,
"amount": 1,
"completed": 0,
"created_at": "2020-03-27 08:29:53",
"updated_at": "2020-03-27 08:29:53",
"grocery": {
"id": 110,
"name": "Cookie", // Want to order this part!!!
"measurement": "Stk",
"created_at": "2020-02-20 12:25:26",
"updated_at": "2020-02-20 12:25:26"
}
},
{
"id": 555, // this is apparently the default sorting
"grocery_id": 107,
"amount": 1,
"completed": 0,
"created_at": "2020-03-27 08:51:10",
"updated_at": "2020-03-27 08:51:10",
"grocery": {
"id": 107,
"name": "Pampers", // Want to order this part!!!
"measurement": "Stk",
"created_at": "2020-01-27 13:50:24",
"updated_at": "2020-01-27 13:50:24"
}
}
]
Структура моей таблицы
Groceries
- id
- name
- measurement
Отношение в модели
class DailyList extends Model
{
public function grocery()
{
return $this->belongsTo(Grocery::class);
}
}