ฉันมีเอนทิตีที่กำหนดเองซึ่งฉันได้เพิ่มฟิลด์ที่คำนวณแล้ว ดังนั้นคลาสที่เกี่ยวข้องคือ:
คลาส MyEntity ขยาย ContentEntityBase
คลาส ComputedFieldA ขยาย FieldItemList
คลาส ComputedFieldB ขยาย FieldItemList
ปัญหาของฉันคือฉันต้องการให้ฟิลด์ที่คำนวณไม่ถูกแคชเลย หรือแคชแต่ใช้กลยุทธ์อื่นที่ใช้ไม่ได้
สิ่งที่ฉันต้องการเป็นไปได้ไหม หรือฉันต้องทำให้แคชสำหรับเอนทิตีทั้งหมดเป็นโมฆะ
แก้ไข: ฟิลด์ที่กำหนดเองนั้นเป็นจำนวนแถวในตารางฐานข้อมูลอื่นฉันต้องการให้แคชการนับนั้นแยกกัน จากนั้นทำให้ใช้ไม่ได้หากมีการแทรกแถวใหม่
กำลังใช้เอาต์พุตผ่านจุดสิ้นสุด jsonapi เริ่มต้นสำหรับเอนทิตี
แก้ไข 2: ฉันเดาว่ามันซับซ้อนกว่าที่ฉันคิดดังนั้นฉันจะอธิบายรายละเอียดเพิ่มเติม:
นิติบุคคล A:
- มีความสัมพันธ์แบบ 1:1 กับโหนดตาม UUID
- มีจำนวนเอนทิตี B ที่เกี่ยวข้องกับโหนด (คำนวณ)
- มีการคำนวณตามจำนวนนั้น (คำนวณ)
เอนทิตี B:
- มีความสัมพันธ์แบบ N:1 กับโหนดตาม NID
ดังนั้น หากมีการสร้างเอนทิตี B ใหม่สำหรับโหนด X ฉันต้องการให้แคชใช้ไม่ได้ในฟิลด์ที่คำนวณแล้วสองฟิลด์ของเอนทิตี A สำหรับโหนด XXXX-XXXX-XXXX-XXXX เพื่อให้จุดสิ้นสุด jsonapi แสดงข้อมูลที่คำนวณล่าสุด
ถ้าฉันสามารถเพิ่มแท็กแคชของ node:X ในแต่ละอินสแตนซ์ของฟิลด์ที่คำนวณได้ ฉันคาดหวังว่าจะได้สิ่งที่ฉันต้องการ