Puncte:0

Cum elimini un rol de utilizator printr-o actualizare de cârlig?

drapel id

Aș dori să elimin un rol de utilizator printr-o actualizare de cârlig în Drupal 9.

Cred că ar trebui să fac ceva ca cel de mai jos, dar nu sunt clar ce alt cod ar putea fi necesar.

$user->removeRole('administrator');
$utilizator->salvare();
sonfd avatar
drapel in
Încercați să eliminați un rol de la un anumit utilizator? Sau ștergeți rolul astfel încât să nu mai existe în sistem și să nu poată fi atribuit niciunui utilizator?
drapel id
Mai întâi eliminați rolul pentru toți utilizatorii cărora le este atribuit rolul. Apoi ștergeți rolul astfel încât să nu mai existe în sistem și să nu poată fi atribuit niciunui utilizator.
leymannx avatar
drapel ne
Căutați cârligul de actualizare a procesului batch drupal.Pentru că atunci când doriți să procesați o mulțime de utilizatori, este posibil să doriți să preveniți expirarea timpului atunci când rulează cârligul de actualizare.
Puncte:0
drapel de

Mai întâi, încărcați toți utilizatorii care au rolul pe care doriți să îl ștergeți:

$usersHavingRole = \Drupal::entityTypeManager()->getStorage('user')->loadByProperties(['roles' => 'my_role']);

Apoi, pentru fiecare utilizator, eliminați rolul (acesta este codul pe care l-ați menționat):

foreach($usersHavingRole as $user) {
  $user->removeRole('my_role');
  $utilizator->salvare();
}

Și, în sfârșit, ștergeți rolul:

$rol = \Drupal\user\Entity\Role::load('my_role');
dacă (!gol ($rol)) {
  $rol->delete();
}
leymannx avatar
drapel ne
Bănuiesc că OP caută mai mult codul de actualizare real, care să implementeze în cel mai bun caz un proces lot.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.