Score:0

รับจำนวนเอนทิตีที่เกี่ยวข้อง

ธง ye

ฉันมีสองหน่วยงาน โพสต์ และ หมวดหมู่

โพสต์ เป็นของ หมวดหมู่ ผ่านทาง ก เอนทิตี_reference ชื่อประเภทฟิลด์ หมวดหมู่_รหัส

ฉันต้องการนับจำนวนโพสต์ที่อยู่ในหมวดหมู่ (เพื่อป้องกันการลบหมวดหมู่ที่มีโพสต์)

วิธีแก้ปัญหาของฉันคือ:

คลาส PostDP{

  สตริงส่วนตัว entityTypeId = 'entity_post';

  EntityTypeManagerInterface ส่วนตัว $em;

  ฟังก์ชั่นสาธารณะ __construct (EntityTypeManagerInterface $em)
  {
    $this->em = $em;
  }

  ฟังก์ชันสาธารณะ getByCategoryId(int $categoryId): อาร์เรย์
  {
    $query = $this->em->getStorage($this->entityTypeId)->getQuery();

    $query->condition('category_id', $categoryId, '=');

    $result = $query->execute();

    $posts = $this->em->getStorage($this->entityTypeId)->loadMultiple($result);

    ส่งคืน $posts;
  }
}

มีวิธีอื่นในการนับโดยไม่ต้องโหลดโพสต์ทั้งหมดหรือไม่

จริงๆ แล้วผมอยากเริ่มจาก หมวดหมู่ เอนทิตี และเพียงแค่ตรวจสอบจำนวนโพสต์ที่เกี่ยวข้องกับหมวดหมู่ที่กำหนด

เช่นในตัวอย่าง (ไม่สมบูรณ์):

คลาส CategoryDP{

  สตริงส่วนตัว entityTypeId = 'entity_category';

  EntityTypeManagerInterface ส่วนตัว $em;

  ฟังก์ชั่นสาธารณะ __construct (EntityTypeManagerInterface $em)
  {
    $this->em = $em;
  }

  ฟังก์ชันสาธารณะ getCountPosts(int $categoryId): อาร์เรย์
  {
    $query = $this->em->getStorage($this->entityTypeId)->getQuery();

    /**
    *@todo รับจำนวนโพสต์
    * สร้างแบบสอบถามที่รัน SQL: 
    * 
    * เลือก 
    *   นับ(*) 
    * จาก 
    * หมวดหมู่ c LEFT JOIN โพสต์ p 
    * บน 
    * p.category_id = รหัสรหัส 
    * ที่ไหน 
    * c.id = :categoryId
    */

    ส่งคืน $count;
  }
}
Kevin avatar
in flag
https://www.drupal.org/docs/8/api/database-api/dynamic-queries/count-queries
berramou avatar
gb flag
`$count = $query->count()->execute();`
Dylan avatar
kr flag
นี่เป็นตัวเลือก - https://www.drupal.org/project/entity_usage

โพสต์คำตอบ

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