Score:0

การกรองชุดผลลัพธ์ของ entity_autocomplete

ธง ml

ข้อมูลโค้ดต่อไปนี้พบได้ในโมดูล 'nodeaccess' ในขณะนี้ การเติมข้อความอัตโนมัติทำให้คุณสามารถค้นหาผู้ใช้ในฐานข้อมูลได้ สิ่งที่ฉันต้องการทำคือผู้ใช้ที่กลับมามีบทบาท A หรือบทบาท B เท่านั้น

ถ้า ($user->hasPermission('เข้าถึงโปรไฟล์ผู้ใช้')) {
  $แบบฟอร์ม['คีย์'] = [
    '#type' => 'entity_autocomplete',
    '#default_value' => isset($form_values['keys']) ? $form_values['keys'] : '',
    '#ขนาด' => 40,
    '#target_type' => 'ผู้ใช้',
    '#title' => $this->t('ป้อนชื่อเพื่อค้นหาผู้ใช้'),
  ];
}

ฉันพบ นี้ ลิงก์ที่ดูเหมือนจะทำบางสิ่งที่คล้ายกับที่ฉันต้องการ แต่ดูเหมือนว่าจะไม่ทำงานโดยเพียงแค่เปลี่ยนเงื่อนไข ฉันไปและแก้ไขให้มีลักษณะดังนี้:

ฟังก์ชัน my_custom_module_query_alter($query) {
  ถ้า ($query->hasTag('user_acccess')) {
    $or = db_or()->condition('user__roles.roles_target_id', 'A')- 
    >เงื่อนไข('user__roles.roles_target_id', 'B');
    $query->condition($หรือ);
  }
}

เป็นแบบสอบถามที่ฉันทำไม่ถูกต้องหรือไม่? หรืออาจเป็นแท็ก 'user_access' ที่ไม่ตรงกับส่วนย่อยของโค้ดด้านบน คำแนะนำใด ๆ ที่จะได้รับการชื่นชมอย่างมาก

โอ้ เว็บไซต์ของฉันทำงานบน Drupal Core 8.9.8 btw

โพสต์คำตอบ

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