first(); if (is_null($group)) return null; return $group->toDbo(); } public static function getUsers($group_id, $page = 0, $perPage = 2000000000, $query = "") { $model = LuticateUsers::/*where("luticate_users.username", "ilike", "%" . $query . "%") ->where("luticate_users.email", "ilike", "%" . $query . "%", "or") ->where("luticate_users.firstname", "ilike", "%" . $query . "%", "or") ->where("luticate_users.lastname", "ilike", "%" . $query . "%", "or") ->*/where("luticate_users_groups.group_id", "=", $group_id, "and") ->join("luticate_users_groups", "luticate_users.id", "=", "luticate_users_groups.user_id"); $count = $model->count(); $model = $model->orderBy("luticate_users.username", "ASC"); $data = $model->take($perPage)->offset($page * $perPage)->get(); $usersLight = []; foreach ($data as $user) { if (!is_null($user)) { $usersLight[] = LuticateUsersLightDbo::fromUserDbo($user->toDbo()); } } return new LuMultipleDbo($count, $usersLight); } public static function addUser($user_id, $group_id) { LuticateGroups::find($group_id)->users()->attach($user_id); return true; } public static function delUser($user_id, $group_id) { LuticateGroups::find($group_id)->users()->detach($user_id); return true; } public static function hasUser($user_id, $group_id) { return !is_null(LuticateGroups::find($group_id)->users()->find($user_id)); } }