可以在学说查询中创建计算字段,然后可以将其作为对象属性检索吗?

时间:2012-04-03 04:48:26

标签: symfony1 doctrine

假设您在一个学说模式中声明了一个简单的“许可证”表,其中包含3个字段name, licenseNumber, expirationDate

您可以创建一个简单查询来实例化许可证对象的集合。但是,如果你想为它添加一个“虚拟”字段,例如select *, (now() > expirationDate) as expired from license(在DQL中,我在这里使用SQL作为速记),该怎么办。

有没有办法让学说使“已过期”的计算字段可以作为对象的属性进行检索?这是一个简单的例子来说明这一点,但它对于更复杂的计算查询可能非常有用,否则我会误解某些东西。

2 个答案:

答案 0 :(得分:0)

不,如果不添加自定义方法来润滑“虚拟列”,就没有办法做你要求的。看看这个SO post,因为它提供了一个很好的例子,说明如何使用“虚拟列”水合数组。

您还可以将“虚拟列”作为成员对象添加到相应的类中,并像example演示的那样对其进行保湿。

答案 1 :(得分:0)

您还可以使用具有此类列的视图并将模型映射到它而不是db表