orderBy($sortColumn, $sortDir) ->when(@$params["filter"], function ($query) use ($params) { foreach ($params["filter"] as $filter) { $query->where($filter["column"], $filter["query"]); } }) ->paginate($limit); } public function create($params){ $params["password"] = "-"; $user = User::create($params); if (@$params["role_ids"]){ $user->roles()->sync($params["role_ids"]); } return $user; } public function update($user, $params){ $user->update($params); if (@$params["role_ids"]){ $user->roles()->sync($params["role_ids"]); } return $user; } public function delete($user){ $user->delete(); } }