例如:
public function getField() {
return ucfirst($this->field);
}
假设实体的getter在返回之前对数据库值进行了一些更改,那么在使用getArrayResult()方法时如何应用这些更改?
例如,Laravel有访问器(http://laravel.com/docs/5.0/eloquent#accessors-and-mutators)。实体getter可以以相同的方式使用。
使用getArrayResult()时,"字段的值为#34;不会有第一个字符大写。
谢谢!
答案 0 :(得分:1)
嗯,它与laravel几乎相同的行为:)
看看Hydrators
。
Hydrator是将原始db输出绑定到doctrine中的各种数据类型的处理器。因此你有Doctrine_Core :: HYDRATE_RECORD这是标准的保湿器(也就是当你使用$ query-> getResult()时调用的东西)。
如果你使用$ query-> getArrayResult(),它会使用Doctrine_Core :: HYDRATE_ARRAY Hydrator。
如果您需要更详细的描述,请告诉我。