laravel 5.2 今天接下来的 3 场比赛
laravel 5.2 the next 3 events from today
我想设置活动日历。
用户必须看到今天接下来的 3 个事件
因此,当日期过去时,事件就会消失
怎么做?谢谢
我的控制器:
class AccueilController extends Controller {
public function affichePage() {
$agenda = Agenda::all()->take(3)->sortBy('date');
return view('Accueil.Page',compact('slides','agenda'));
}
}
由于您拨打电话的方式,您的代码未被排序。这是目前正在发生的事情:
$agenda = Agenda::all()
加载数据库中的每个议程
->take(3)
从我加载的所有议程中,选择前三个。
->sortBy('date');
仅 按日期对这三个进行排序。
根据您的要求,要实现您想要的效果,您可以致电
$agenda = Agenda::where('date', '>=', $the_date)->orderBy('date', 'asc')->take(3)->get();
其中$the_date是你想要的最小日期。通常,您会使用 Carbon 库中的日期函数来执行此操作:
$the_date = \Carbon\Carbon::now();
此查询强制在数据库中完成工作,调用 get 最终检索结果。按照顺序,我们告诉数据库:
- 将所有议程过滤为仅那些日期大于我们传入的日期的议程
- 按日期对筛选集进行排序,从最早的开始
- 从过滤后的集合中取出前三个
- Return 设置为 $agendas 变量。
我想设置活动日历。 用户必须看到今天接下来的 3 个事件 因此,当日期过去时,事件就会消失 怎么做?谢谢
我的控制器:
class AccueilController extends Controller {
public function affichePage() {
$agenda = Agenda::all()->take(3)->sortBy('date');
return view('Accueil.Page',compact('slides','agenda'));
}
}
由于您拨打电话的方式,您的代码未被排序。这是目前正在发生的事情:
$agenda = Agenda::all()
加载数据库中的每个议程
->take(3)
从我加载的所有议程中,选择前三个。
->sortBy('date');
仅 按日期对这三个进行排序。
根据您的要求,要实现您想要的效果,您可以致电
$agenda = Agenda::where('date', '>=', $the_date)->orderBy('date', 'asc')->take(3)->get();
其中$the_date是你想要的最小日期。通常,您会使用 Carbon 库中的日期函数来执行此操作:
$the_date = \Carbon\Carbon::now();
此查询强制在数据库中完成工作,调用 get 最终检索结果。按照顺序,我们告诉数据库:
- 将所有议程过滤为仅那些日期大于我们传入的日期的议程
- 按日期对筛选集进行排序,从最早的开始
- 从过滤后的集合中取出前三个
- Return 设置为 $agendas 变量。