É possivel limitar a quantidade de usuarios por team?
Como faria para limitar a quantidade de usuarios e administradores dentro de um mesmo team?
No seu model team, você pode definir essas regras de limites, exemplo:
class Team extends Model
{
// Limites
const MAX_USERS = 10;
const MAX_ADMINS = 2;
// Relacionamento de membros
public function members()
{
return $this->hasMany(User::class);
}
// Filtrar membros que são administradores
public function admins()
{
return $this->members()->where('role', 'admin');
}
// Filtrar membros que são usuários comuns
public function regularUsers()
{
return $this->members()->where('role', 'user');
}
// Verificar se pode adicionar mais um administrador
public function canAddAdmin()
{
return $this->admins()->count() < self::MAX_ADMINS;
}
// Verificar se pode adicionar mais um usuário comum
public function canAddUser()
{
No seu model team, você pode definir essas regras de limites, exemplo:
class Team extends Model
{
// Limites
const MAX_USERS = 10;
const MAX_ADMINS = 2;
// Relacionamento de membros
public function members()
{
return $this->hasMany(User::class);
}
// Filtrar membros que são administradores
public function admins()
{
return $this->members()->where('role', 'admin');
}
// Filtrar membros que são usuários comuns
public function regularUsers()
{
return $this->members()->where('role', 'user');
}
// Verificar se pode adicionar mais um administrador
public function canAddAdmin()
{
return $this->admins()->count() < self::MAX_ADMINS;
}
// Verificar se pode adicionar mais um usuário comum
public function canAddUser()
{
return $this->regularUsers()->count() < self::MAX_USERS;
}
}
Pode criar métodos com os limites, e retorna true ou false caso o usuário ainda pode criar mais admins, enfim, pode personalizar como desejar. return $this->regularUsers()->count() < self::MAX_USERS;
}
}
Pode criar métodos com os limites, e retorna true ou false caso o usuário ainda pode criar mais admins, enfim, pode personalizar como desejar.
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!