【发布时间】:2021-09-13 07:31:49
【问题描述】:
我想通过添加 extbase 域模型来修改现有的 TYPO3 扩展,同时保留现有的数据库结构。
有两个数据库表:location 和person,它们没有直接连接——旧代码只是通过它们的pid 列关联它们。如果您想将location 用于person,则必须选择具有相同pid 的location。
现在我希望能够从人员的域模型类中加载位置,但 extbase 无法弄清楚如何自动加载它。
我必须做些什么来覆盖/自定义 extbase 的关系加载行为,以便我可以通过 $person.location 访问 location 对象,同时受益于 extbase 的自动缓存和预加载?
(当自己在Person类中实现getLocation()时,extbase不会在第一个SQL查询中自动加载位置。另外,我必须自己实现本地缓存,这样重复访问getLocation()就不会导致重复的数据库访问。)
【问题讨论】: