Score:0

เงื่อนไขฟิลด์เอนทิตีที่มี "ไม่มี" target_id สำหรับฟิลด์หลายค่า

ธง in

เอนทิตี E มีฟิลด์อ้างอิงถึง Taxonomy T ที่มีหลายค่า

E.field_term.value = [
  ['target_id' => 1],
  ['target_id' => 4],
  ['target_id' => 7],
  ['target_id' => 9],
];

วิธีสอบถามรายการ Entity E ที่ไม่มี Term T (term_Id = 7) ฉันคาดหวังสิ่งนี้:

$query = $this->entityTypeManager->getStorage('โหนด')->getQuery();
$query->condition('field_term.entity:taxonomy_term.tid', '7', 'ไม่มี');
    

แต่แน่นอน QueryInterface::condition ไม่ยอมรับ ไม่มี เป็นการดำเนินการ ขอบคุณสำหรับความช่วยเหลือของคุณ

Kevin avatar
in flag
คุณลองหรือไม่เข้า?
mr.Thi avatar
in flag
ฉันพยายาม และไม่เข้า ทั้งสองไม่ทำงาน
4uk4 avatar
cn flag
ไม่สามารถทำได้กับตารางที่รวมเข้าด้วยกัน ดู https://drupal.stackexchange.com/questions/188969/how-to-use-entityquery-to-select-if-a-multiple-value-entityreference-field-does
mr.Thi avatar
in flag
ขอบคุณ @4k4 ดูเหมือนว่าฉันควรสร้างฟิลด์ใหม่ในเอนทิตี E เพื่อตรวจสอบเงื่อนไข
4uk4 avatar
cn flag
วิธีที่ง่ายที่สุดคือ 2 คำสั่งลบด้วย array_diff()
mr.Thi avatar
in flag
@4k4 ขอบคุณ จริง ๆ แล้วฉันทำให้มันใช้งานได้กับ 2 คำถามตามที่คุณพูดก่อนที่จะถามคำถามนี้ แต่ฉันหวังว่าบางที่ เช่น %delta solution ก็ใช้ได้เช่นกัน แต่ด้วยการยืนยันของคุณ ฉันรู้ว่ามันไม่สามารถใช้ได้ในขณะนี้

โพสต์คำตอบ

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