Laravel, несколько вложенных запросов с множественным порядком

Я использую Laravel 5.2. У меня есть 3 таблицы (модели):

  • События
  • Даты
  • Сессии

Мои отношения: Событие имеет много дат. Дата имеет много сеансов. Проблема в том, что когда я получаю событие с датами и сеансом, данные не упорядочены.

Как я могу получить событие с заказанными датами и каждую дату с заказанными сеансами.

$event = Event::find($id);
$event->load(['dates' => function($query)
    {
        $query->orderBy('date', 'asc');
    }
]);

Вот как я получаю событие с упорядоченными датами. Как заказать сеансы на каждую дату?

Спасибо


person oussama.tn    schedule 03.04.2016    source источник


Ответы (1)


Кажется, я нашел ответ. Загрузка не работала внутри вложенного запроса. Поэтому я должен использовать «с», а не «загрузить».

$event = Event::find($id);
$event->load(['dates' => function($query)
            {   
                $query->with(['sessions' => function($query)
                                  {   
                                      $query->orderBy('starts_at', 'asc');
                                  }
                ])->orderBy('date', 'asc');
            }
    ]);
person oussama.tn    schedule 03.04.2016