/** * Get a paginated list of all departments. * * @return mixed */ public function getTotal(Request $request) { $total = Department::where(function ($query) use($request) { if ($request->has('filter')) { $filters = $request->input('filter'); foreach ($filters['filters'] as $key => $filter) { if ($filter['operator'] == 'startswith') { $query->where($filter['field'], 'LIKE', $filter['value'] . '%'); } elseif ($filter['operator'] == 'contains') { $query->where($filter['field'], 'LIKE', '%' . $filter['value'] . '%'); } elseif ($filter['operator'] == 'gte') { $query->where($filter['field'], '>=', $filter['value']); } elseif ($filter['operator'] == 'lte') { $query->where($filter['field'], '<=', $filter['value']); } elseif ($filter['operator'] == 'eq') { $query->where($filter['field'], '=', $filter['value']); } } } })->count(); return $total; }