Score:0

ตัวประมวลผลล่วงหน้าไม่ส่งคืนข่าวสารตามวันที่สร้างที่ถูกต้อง

ธง cn

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

$query = \Drupal::entityQuery('โหนด');
$query->accessCheck(เท็จ)
    ->เงื่อนไข ('ประเภท', 'ข่าว')
    ->condition('langcode', \Drupal::languageManager()->getCurrentLanguage()->getId(),"IN")
    ->sort('สร้าง', 'DESC')
    ->ช่วง(0, 9);

$nids = $query->execute();
$entities = \Drupal::entityTypeManager()->getStorage('node')->loadMultiple($nids);

ผมทำอะไรผิดหรือเปล่า? ดูเหมือนว่าจะทำงานได้ดีในมุมมองหน้าข่าวจริง มุมมองเองมีการตั้งค่าการเรียงลำดับเป็น "เนื้อหา: ผู้เขียนบน (desc)" และสิ่งนี้ส่งคืนข้อมูลตามที่คาดไว้ แต่แบบสอบถามตัวประมวลผลล่วงหน้าไม่มี

แก้ไข:

คำแนะนำปัจจุบันคือเปลี่ยนการจัดเรียงเป็น "เปลี่ยนแปลง" แต่วิธีนี้ใช้ไม่ได้ผล ฉันรู้สึกว่าปัญหาเกี่ยวข้องกับการแปล ต่อไปนี้คือผลลัพธ์ที่ 1 ในอาร์เรย์ ฉันจงใจดำเนินการต่อและเปลี่ยนวันที่ "เขียน" เป็นปี 2002 เพื่อให้แน่ใจว่าวันที่ดังกล่าวจะคงอยู่ตลอดไป แต่ก็ยังเป็นครั้งแรก หากคุณดูที่ค่า ฉันคิดว่านี่คือจุดที่ปัญหาเกิดขึ้น:

[สร้าง] => อาร์เรย์
 (
    [ดา] => 1647950253
    [x-default] => 1016357523
    [es] => 1647950332
    [fi] => 1647950277
    [fr] => 1647949861
    [nb] => 1647950235
    [nl] => 1647950348
    [sv] => 1647950211
    [en-au] => 1647949797
    [th-th] => 1647947671
    [th-us] => 1647947639
    [bel-fr] => 1647950381
    [bel-nl] => 1647950361
 )

จากผลลัพธ์นี้ อาจเป็นไปได้ว่าการเรียงลำดับค้นหาวันที่ "สร้าง" ครั้งที่ 1 ซึ่งเป็น DA แต่ในกรณีของเรา ภาษาคือ x-default

ฉันสามารถเปลี่ยนการจัดเรียงตามเพื่อให้แน่ใจว่าจัดเรียงตามภาษาจริงได้หรือไม่

Kevin avatar
in flag
ประเภทคุณสมบัติอาจ 'เปลี่ยนแปลง' ข้อควรทราบ การนำการตรวจสอบสิทธิ์การเข้าถึงออกและการไม่ตรวจสอบสถานะที่เผยแพร่อาจทำให้เห็นสิ่งที่คุณไม่ต้องการได้ อีกวิธีในการทำเช่นนี้คือการใช้ฟิลด์วันที่เฉพาะแทนคุณสมบัติโหนด
mauzilla avatar
cn flag
@Kevin ขออภัย ฉันไม่ทราบว่าฉันเข้าใจเกี่ยวกับประเภทคุณสมบัติที่อาจมีการเปลี่ยนแปลงหรือไม่
cn flag
Kevin อาจหมายความว่าคุณอาจต้องใช้ฟิลด์ 'เปลี่ยนแปลง' บนโหนด (เวลาที่อัปเดตล่าสุด) แทน 'สร้าง' ไม่ใช่ว่าคุณสมบัติมีการเปลี่ยนแปลง แต่ถ้ามันทำงานอย่างถูกต้องในมุมมอง ฉันสงสัยว่าจะมีปัญหาเกี่ยวกับแคช เนื่องจากข้อความค้นหาเอนทิตีของคุณดูดี
leymannx avatar
ne flag
`->sort('เปลี่ยน', 'DESC')`
mauzilla avatar
cn flag
ฉันได้อัปเดตคำถามแล้ว ฉันคิดว่าฉันใกล้จะถึงแล้ว แต่ไม่แน่ใจว่าจะแก้ไขการจัดเรียงได้อย่างไร
mauzilla avatar
cn flag
ฉันสามารถติดตามปัญหาได้ เนื่องจากไม่ได้อัปเดตวันที่เขียนการแปลทั้งหมด ดูเหมือนว่าวันที่สร้างที่ใช้จะเป็นการแปล "ใหม่ล่าสุด"
apaderno avatar
us flag
คุณใช้รหัสนั้นที่ไหนกันแน่? ชื่อเรื่องพูดถึง *ตัวประมวลผลล่วงหน้า* แต่ฉันไม่ชัดเจนว่าหมายถึง hook ตัวประมวลผลล่วงหน้าหรืออย่างอื่น

โพสต์คำตอบ

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