Score:2

ฉันจะโหลดเก้าโหนดที่สร้างขึ้นล่าสุดได้อย่างไร

ธง cn

ฉันต้องการรับเก้าโหนดล่าสุดในเบ็ดการประมวลผลล่วงหน้า ฉันใช้รหัสต่อไปนี้ แต่ส่งคืนทั้งหมด ข่าว โหนด

$entities = \Drupal::entityTypeManager()->getStorage('node')->loadByProperties(['type' => 'news']);

เป็นไปได้หรือไม่ที่จะโหลดเฉพาะโหนดที่สร้างขึ้นเก้าโหนดล่าสุดโดยใช้ loadByProperties()?

Score:6
ธง us

loadByProperties() เพียงโหลดเอนทิตีที่กำหนดมูลค่าของคุณสมบัติบางอย่าง มันไม่ได้จัดเรียงเอนทิตีตามเกณฑ์บางอย่างและไม่ส่งคืนเอนทิตี X สุดท้าย คุณต้องใช้อินสแตนซ์ที่ส่งคืนโดย \Drupal::entityQuery().

$query = \Drupal::entityQuery('โหนด');
$query->accessCheck(เท็จ)
  ->เงื่อนไข ('entity_type', 'ข่าว')
  ->sort('เปลี่ยน', 'DESC')
  ->ช่วง(0, 9);

$nids = $query->execute();

$นิดส์ จะมีอาร์เรย์ของรหัสโหนดที่คุณสามารถใช้เพื่อโหลดโหนดได้ เช่น \Drupal::entityTypeManager()->getStorage('node')->loadMultiple($nids).

ฉันใช้ การเข้าถึงการตรวจสอบ (เท็จ) เพื่อหลีกเลี่ยง Drupal จะส่งกลับเฉพาะโหนดที่ผู้ใช้ที่เข้าสู่ระบบในปัจจุบันสามารถเข้าถึงได้ หากต้องการให้ Drupal ส่งคืนเฉพาะโหนดที่ผู้ใช้ที่เข้าสู่ระบบในปัจจุบันสามารถเข้าถึงได้ บรรทัดนั้นจะต้องถูกลบออก

mauzilla avatar
cn flag
คำตอบที่ยอดเยี่ยม ขอบคุณสำหรับความช่วยเหลือของคุณ

โพสต์คำตอบ

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