eine Weile gedauert, aber hier ist ein mögliche Methode eine Checkbox hinzufügen, um die Rolle ROLE_ADMIN
an einen Benutzer hinzuzufügen oder zu entfernen:
in Ihrem easyadmin Config, für die Benutzereinheit hinzufügen: - {property: 'hasRoleAdmin', label: 'Is admin', type: checkbox}
Oder für ein Drop-Down, dass die gleiche Sache tut:
- {property: 'hasRoleAdmin', label: 'Role', type: choice, type_options: choices: {0: 'ROLE_USER', 1: 'ROLE_ADMIN'}}}
In Ihrer Benutzereinheit hinzufügen:
public function hasRoleAdmin()
{
return $this->hasRole('ROLE_ADMIN');
}
public function setHasRoleAdmin($isAdmin)
{
if (true == $isAdmin && false == $this->hasRole('ROLE_ADMIN')) {
$this->addRole('ROLE_ADMIN');
}
if (false == $isAdmin && true == $this->hasRole('ROLE_ADMIN')) {
$this->removeRole('ROLE_ADMIN');
}
$this->isAdmin = $isAdmin;
}
Vielen Dank für Ihre schnelle Antwort, habe ich versucht, sie beide und wenn ich auf Beim Hinzufügen eines neuen Benutzers habe ich einen Fehler erhalten, der besagt: "Der Wert vom Typ" array "kann nicht in einen gültigen Array-Schlüssel konvertiert werden." Haben Sie eine Vorstellung von der Lösung? –
@AnisAbida Versuchen Sie, den type_options auch 'multiple: true' hinzuzufügen. Und Sie wollen die Schlüssel und Werte umkehren (d. H. ROLE_USER und Normal-Benutzer tauschen usw.) –