Laravel,多个查询以多个顺序嵌套

时间:2016-04-03 00:11:34

标签: laravel nested eloquent nested-queries

我使用的是Laravel 5.2。 我有3个表(模型):

  • 活动
  • 日期
  • 会话

我的关系:活动有很多日期。日期有很多会话。 问题是,当我收到带有日期和会话的事件时,数据不会被订购。

如何通过订购日期和订购会话的每个日期获取活动。

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

这是我如何获得订购日期的活动。如何为每个日期订购会话?

由于

1 个答案:

答案 0 :(得分:0)

我想我找到了答案。加载在嵌套查询中不起作用。所以我应该使用'with'而不是'load'。

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