public function paginateByRequest($perPage = 1, $columns = ['*']) { $this->model = $this->model->select('tickets.*', 'ticket_actions.title as title', 'users.display_name as user_display_name', 'su.display_name as staff_display_name')->join('users', 'users.id', '=', 'tickets.user_id')->join('staff', 'staff.id', '=', 'tickets.staff_id')->join('users as su', 'su.id', '=', 'staff.user_id')->join('ticket_actions', 'ticket_actions.ticket_id', '=', 'tickets.id')->where('ticket_actions.type', 'create'); $this->pushCriteria(new Criteria\RequestSort())->pushCriteria(new Criteria\RequestCreatedAtRange())->pushCriteria(new Criteria\RequestSearchTickets())->pushCriteria(new Criteria\Request('status'))->pushCriteria(new Criteria\Request('priority'))->pushCriteria(new Criteria\Request('dept_id'))->pushCriteria(new Criteria\Request('staff_id')); return parent::paginate($perPage); }
/** * @param int $perPage * @param array $columns * @return mixed */ public function paginate($perPage = 20, $columns = array('*')) { return parent::paginate($perPage, $columns); }
public function paginateByRequest(TicketIndexRequest $request) { $this->model = $this->model->with('user', 'assigned'); $this->pushCriteria(new Criteria\Request\RequestOrderBy($request))->pushCriteria(new Criteria\Request\RequestWhereCreatedAtBetween($request))->pushCriteria(new Criteria\Tickets\RequestWhereInStatus($request))->pushCriteria(new Criteria\Tickets\RequestWhereInPriority($request))->pushCriteria(new Criteria\Request\RequestWhereInDeptId($request))->pushCriteria(new Criteria\Request\RequestWhereInOrgId($request))->pushCriteria(new Criteria\Tickets\RequestWhereInAssignedId($request))->pushCriteria(new Criteria\Tickets\RequestSearch($request)); return parent::paginate($request->get('per_page', config('system.page_size'))); }
/** * Render response to display list of $data * * @param Repository|Model $data * @param string $view * @return Response */ protected function defaultIndex($data, $view) { $var = camel_case(explode('.', $view)[1] . 's'); ${$var} = $data->paginate(15); return view($view, compact($var)); }