orderBy($sortColumn, $sortDir) ->when($search, function ($query) use ($search){ $query->where(function($query) use ($search){ $query->where("name","ilike","%$search%"); $query->orWhere("code","ilike","%$search%"); }); }) ->when(@$params["filter"], function ($query) use ($params) { foreach ($params["filter"] as $filter) { $query->where($filter["column"], $filter["query"]); } }) ->paginate($limit); } public function create($params){ return $model; } public function update($model, $params){ return $model; } public function delete($model){ $model->delete(); } }