使用Doctrine 2,当我使用便捷方法HYDRATE_ARRAY
或EntityRepository::find
时,有没有办法指定EntityRepository::findOneById
?我是否必须编写自己的DQL查询,而是使用它?
答案 0 :(得分:1)
我不确定,但我认为你不能。
您必须编写自己的DQL,或者获取对象,然后将其序列化为数组。
第二种方法可能较慢,但它对于测试环境来说非常方便。我使用了 beberleis 序列化类here。
它可以正常工作,除非您无法序列化对象中的一对多和多对多关系,换句话说,应该序列化的任何内容作为对象的集合。
顺便说一下。如果您没有 php5.4 ,只需将trait
替换为abstract class
,并让所有模型对象继承该类