在 Doctrine2 中,我有一个具有使用复杂 SQL 查询计算的属性的类。该属性称为“重复”
我不想在我的数据库中保留这个值,我希望每次我水合给定对象并使用它访问它时计算它
$obj->getDuplicate()
如果我向我的 DQL 添加一个单独的选择,这会导致数组水合,这就是为什么我希望这个参数几乎是我的对象实体的一部分,但不持久。
我有哪些选择?
(由于下一个版本中的性能原因,我们计划一起迁移到阵列水合,但现在没有时间了 :)
在 Doctrine2 中,我有一个具有使用复杂 SQL 查询计算的属性的类。该属性称为“重复”
我不想在我的数据库中保留这个值,我希望每次我水合给定对象并使用它访问它时计算它
$obj->getDuplicate()
如果我向我的 DQL 添加一个单独的选择,这会导致数组水合,这就是为什么我希望这个参数几乎是我的对象实体的一部分,但不持久。
我有哪些选择?
(由于下一个版本中的性能原因,我们计划一起迁移到阵列水合,但现在没有时间了 :)
您可以使用postLoad
事件侦听器并在那里注入存储库。
拥有存储库后,每次从数据库加载对象时,您都可以调用自定义 DQL 查询,该查询将为您完成这项工作。
但是,我不知道这是否是一个好习惯,但我相信这会奏效。
如果您需要一些提示,请看这里。