Score:0

คุณจะลบบทบาทของผู้ใช้ผ่านการอัปเดต hook ได้อย่างไร

ธง id

ฉันต้องการลบบทบาทของผู้ใช้ผ่านการอัปเดต hook ใน Drupal 9

ฉันเชื่อว่าฉันจะต้องทำสิ่งต่อไปนี้ แต่ไม่ชัดเจนว่าอาจต้องใช้รหัสอะไรอีกบ้าง

$user->removeRole('ผู้ดูแลระบบ');
$user->save();
sonfd avatar
in flag
คุณกำลังพยายามลบบทบาทออกจากผู้ใช้รายใดรายหนึ่งหรือไม่ หรือลบบทบาทเพื่อไม่ให้มีอยู่ในระบบอีกต่อไปและไม่สามารถกำหนดให้กับผู้ใช้รายใดได้?
id flag
ก่อนอื่นให้ลบบทบาทของผู้ใช้ทั้งหมดที่มีบทบาทที่กำหนด จากนั้นให้ลบบทบาทเพื่อไม่ให้มีบทบาทในระบบอีกต่อไปและไม่สามารถกำหนดให้กับผู้ใช้รายใดก็ได้
leymannx avatar
ne flag
ค้นหาเบ็ดการอัพเดตกระบวนการ drupal แบทช์เนื่องจากเมื่อคุณต้องการประมวลผลผู้ใช้จำนวนมาก คุณอาจต้องการป้องกันการหมดเวลาเมื่อการอัพเดทของคุณทำงาน
Score:0
ธง de

ขั้นแรก โหลดผู้ใช้ทั้งหมดที่มีบทบาทที่คุณต้องการลบ:

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

จากนั้น สำหรับผู้ใช้แต่ละราย ให้ลบบทบาทออก (นี่คือรหัสที่คุณกล่าวถึง):

foreach($usersHavingRole เป็น $user) {
  $user->removeRole('my_role');
  $user->save();
}

และสุดท้าย ลบบทบาท:

$role = \Drupal\user\Entity\Role::load('my_role');
ถ้า (!empty($role)) {
  $บทบาท>ลบ ();
}
leymannx avatar
ne flag
ฉันเดาว่า OP มีมากกว่าในการค้นหารหัส hook ของการอัปเดตจริงโดยใช้กระบวนการแบทช์ที่ดีที่สุด

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา