コード例 #1
0
ファイル: ModelRepository.php プロジェクト: siegessa/uzem
 /**
  * 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;
 }