【发布时间】:2012-03-11 19:32:04
【问题描述】:
我正在尝试找到针对多个父实体实施赞成/反对投票的最佳方式。
目前我正在使用InheritanceType("SINGLE_TABLE") 进行投票,子类中有父关系。我也在使用:fetch="EXTRA_LAZY" - 主要是为了在从父实体的角度计票时,我可以在不加载完整投票实体的情况下执行 count()。
我的问题是我不想为每个父关系实现单独的 UpVote 和 DownVote 实体类,而是在投票基类中使用 value 字段。最好我想以某种方式在延迟加载的 ArrayCollection 上运行$qb->expr()->sum(),类似于count()。 (这样总和可以直接使用父实体直接从数据库返回为标量,无需实体管理器,或者必须将每个投票实体加载到总和 - 视图脚本中的 E.G)
支持吗? (或者如何达到我想要的效果?)
不确定上述是否是解决此问题的最佳方法 - 欢迎使用 Doctrine 2 进行投票的替代最佳实践示例!
*编辑:固定 LAZY -> EXTRA_LAZY
【问题讨论】:
标签: php database doctrine doctrine-orm sum