Score:0

SOME_USER

ธง ht

เพิ่มฟิลด์อนุกรมวิธานโดยทางโปรแกรมให้กับประเภทเนื้อหาที่กำหนดเอง

ฉันต้องการโหลดเอนทิตีโดยเจ้าของ นี่คือสิ่งที่ฉันมีจนถึงตอนนี้:
\Drupal::logger('migrate_users')->notice("สวัสดี เริ่ม");
$userStorage = \Drupal::entityTypeManager()->getStorage('ผู้ใช้');

$query = $userStorage->getQuery();
$uids = $แบบสอบถาม
  ->เงื่อนไข ('สถานะ', '1')
  ->เงื่อนไข('ประเภท', 'นักเรียน')
  ->ดำเนินการ ();

$users = $userStorage->loadMultiple($uids);

// ช่วยเกี่ยวกับบรรทัดนี้
$entities = \Drupal::entityTypeManager()
  ->getStorage('โหนด')
  ->loadByProperties([
      'ประเภท' => 'บทความ',
      'ผู้ใช้' => SOME_USER,
    ]);

\Drupal::logger('dssi_migrate_users')->ประกาศ("เสร็จสิ้น");

ฉันต้องผ่านเพื่ออะไร ?

Score:2
ธง de

คุณใช้ชื่อพร็อพเพอร์ตี้ที่ไม่ถูกต้องในการส่ง ID ผู้ใช้เท่านั้น

ต่อไปนี้จะทำงาน:

$entities = \Drupal::entityTypeManager()
  ->getStorage('โหนด')
  ->loadByProperties([
      'ประเภท' => 'บทความ',
      'uid' => SOME_USER_ID,
    ]);

หากคุณต้องการดึงเอนทิตีจากผู้ใช้หลายคน ให้ใช้อาร์เรย์:

$entities = \Drupal::entityTypeManager()
  ->getStorage('โหนด')
  ->loadByProperties([
      'ประเภท' => 'บทความ',
      'uid' => [uid1, uid2, uid3],
    ]);

loadByProperties() วิธีการใช้ buildPropertyQuery() เพื่อส่งค่าไปยังแบบสอบถามซึ่งใช้เงื่อนไข "IN"

Score:0
ธง cn

สิ่งที่คุณกำลังมองหาคือ ใน การดำเนินการและฉันคิดว่า loadByProperties วิธีการทำหน้าที่เท่านั้น เท่ากับ การดำเนินการดังนั้นใช้ รับแบบสอบถาม method แทน และคุณสามารถแนบเงื่อนไขได้มากเท่าที่คุณต้องการ ดังตัวอย่างด้านล่าง:

$nodeQuery = \Drupal::entityTypeManager()->getStorage('โหนด')->getQuery();
$entities = $nodeQuery->condition('bundle', 'article')->condition('uid', $uids, 'IN')->execute();
misterdidi avatar
de flag
วิธีแก้ปัญหาของคุณถูกต้อง แต่ฉันคิดว่ามันไม่จำเป็นในกรณีนั้น ตามเอกสาร [loadByProperties()](https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Entity%21EntityStorageBase.php/function/EntityStorageBase%3A%3AloadByProperties/9.3.x ) ใช้เมธอด buildPropertyQuery() ซึ่งใช้ "IN" เพื่อสร้างเงื่อนไข
คำถามนี้เป็นภาษาอื่นๆ:
TH: SOME_USER
RO: SOME_USER
RU: SOME_USER
VI: SOME_USER

โพสต์คำตอบ

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