У меня есть список групп с пользователями. Группы имеет свойство maximum_users
. Пользователи могут зарегистрироваться в группе, только если у них есть свободное место ( Если количество зарегистрированных пользователей в этой группе не превышает maximum_users
свойство этой группы ).
- Как выбрать только группы со свободными местами, где пользователи могут зарегистрироваться?
- Мне нужно разбить результаты на страницы.
Я могу отфильтровать группы после выбора их с помощью следующего условия:
$group->maximum_users >= $group->users()->count()
но в этом случае нумерация страниц не работает.
Структура таблицы:
groups
id - integer
maximum_users - integer
users
id - integer
group_id - integer
Модель:
class Group extends Model
{
public function users()
{
return $this->hasMany('App\Models\User');
}
}
class User extends Model
{
public function group()
{
return $this->belongsTo('App\Models\Group');
}
}