Laravel 分页器显示更多页面
Laravel paginator display more pages
我想做的是获取模型的不同值(日期),并为每个日期显示相应的数据。当我对不同的日期进行分页时,它工作正常,但在分页页面中我看到所有结果而不是不同的。这是我的功能:
public function showdaily($id) {
$capacities = array();
// DB::enableQueryLog();
$capacity_daily = CapacityDaily::select('for_date')->where('capacity_id', '=', $id)->orderBy('for_date', 'asc')->distinct()->paginate(2);
// dd(DB::getQueryLog());
foreach($capacity_daily as $cap) {
$get_capacity = CapacityDaily::where('capacity_id', '=', $id)->where('for_date', '=', $cap->for_date)->orderBy('for_date', 'asc')->distinct()->get();
$capacities[] = array('for_date' => $cap->for_date, 'values' => $get_capacity, 'capacity' => Capacity::find($id)->first());
}
return view('admin.capacity.daily', compact('capacities', 'capacity_daily', 'id'));
}
我在 table 中总共有 4 个不同的日期和 96 行。因为我想每页只显示 2 个日期,所以它应该只显示一个额外的可用页面,但我没有显示 1-47。
我哪里做错了?
toSql() 方法将显示它是 运行 的查询,但我怀疑您需要在 for_date 上分组而不是使用 distinct
$capacity_daily = CapacityDaily::select('for_date')->where('capacity_id', '=', $id)->orderBy('for_date', 'asc')->groupBy('for_date')->paginate(2);
我想做的是获取模型的不同值(日期),并为每个日期显示相应的数据。当我对不同的日期进行分页时,它工作正常,但在分页页面中我看到所有结果而不是不同的。这是我的功能:
public function showdaily($id) {
$capacities = array();
// DB::enableQueryLog();
$capacity_daily = CapacityDaily::select('for_date')->where('capacity_id', '=', $id)->orderBy('for_date', 'asc')->distinct()->paginate(2);
// dd(DB::getQueryLog());
foreach($capacity_daily as $cap) {
$get_capacity = CapacityDaily::where('capacity_id', '=', $id)->where('for_date', '=', $cap->for_date)->orderBy('for_date', 'asc')->distinct()->get();
$capacities[] = array('for_date' => $cap->for_date, 'values' => $get_capacity, 'capacity' => Capacity::find($id)->first());
}
return view('admin.capacity.daily', compact('capacities', 'capacity_daily', 'id'));
}
我在 table 中总共有 4 个不同的日期和 96 行。因为我想每页只显示 2 个日期,所以它应该只显示一个额外的可用页面,但我没有显示 1-47。
我哪里做错了?
toSql() 方法将显示它是 运行 的查询,但我怀疑您需要在 for_date 上分组而不是使用 distinct
$capacity_daily = CapacityDaily::select('for_date')->where('capacity_id', '=', $id)->orderBy('for_date', 'asc')->groupBy('for_date')->paginate(2);