【发布时间】:2018-04-18 17:22:13
【问题描述】:
我正在尝试联合 3 个 SQL 查询,因此我可以将到期日期排序为 newDate 并手动创建分页器。
但由于某种原因抛出了这个异常:
array_slice() 期望参数 1 是数组,给定对象
我的代码:
public function index(Request $request)
{
$TMUDue = Equipments::Where('due1', '<>', '1990-01-01')
->select('*', 'due1 AS newDate');
$CalDue = Equipments::Where('due2', '<>', '1990-01-01')
->select('*', 'due2 AS newDate');
$SerDue = Equipments::Where('due3', '<>', '1990-01-01')
->select('*', 'due3 AS newDate');
$equipmentsDue = $SerDue->union($CalDue)->union($TMUDue)->orderBy('newDate')->get();
$page = Input::get('page', 1);
$paginate = 10;
$offSet = ($page * $paginate) - $paginate;
$itemsForCurrentPage = array_slice($equipmentsDue, $offSet, $paginate, true);
$equipmentsDue = new \Illuminate\Pagination\LengthAwarePaginator($itemsForCurrentPage, count($equipmentsDue), $paginate, $page);
return view('dashboard.index', compact('equipmentsDue'));
我做错了吗?
无需手动创建数据库分页,查询就可以正常工作。
【问题讨论】:
-
$equipmentsDue 的输出是什么
标签: php laravel pagination