Score:0

ฉันจะแทรกบริการลงในคลาสบันเดิลเอนทิตีของฉันได้อย่างไร

ธง cn

ฉันมีเอนทิตีที่มีฟิลด์ JSON และฉันทำการประมวลผลที่ซับซ้อนเมื่อบันทึกเอนทิตี

ตอนนี้ฉันทำการประมวลผลใน hook_ENTITY_presave()ซึ่งเรียกใช้บริการที่ฉันสร้างขึ้นในโมดูลที่กำหนดเอง

อย่างไรก็ตาม เนื่องจาก Drupal 9.3 เราจึงสามารถทำได้ สร้างคลาสบันเดิล เพื่อขยายเอนทิตีอย่างหมดจด

ดังนั้นฉันจึงสร้างหนึ่งรายการสำหรับเอนทิตีของฉัน และฉันได้เขียน getters และ setters ใหม่เพื่อให้ฉันสามารถทำได้ $entity->getMyValue() แทน $entity->field_abc->ค่า.

ตอนนี้ ฉันต้องการทำขั้นตอนถัดไปและแทรกบริการของฉันลงในเอนทิตี และย้ายการประมวลผลโดยตรงไปยังเอนทิตีในการบันทึก ฉันจะทำอย่างนั้นได้อย่างไร

Score:0
ธง cn

อนิจจาสิ่งนี้ยังเป็นไปไม่ได้ มี การอภิปรายในคิวปัญหาหลักเกี่ยวกับวิธีการดำเนินการนี้

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

โพสต์คำตอบ

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