Doctrine getArrayResult()返回数据库值,而实体getter处理值

时间:2015-04-21 13:43:05

标签: symfony doctrine

例如:

public function getField() {
  return ucfirst($this->field);
}

假设实体的getter在返回之前对数据库值进行了一些更改,那么在使用getArrayResult()方法时如何应用这些更改?

例如,Laravel有访问器(http://laravel.com/docs/5.0/eloquent#accessors-and-mutators)。实体getter可以以相同的方式使用。

使用getArrayResult()时,"字段的值为#34;不会有第一个字符大写。

谢谢!

1 个答案:

答案 0 :(得分:1)

嗯,它与laravel几乎相同的行为:) 看看Hydrators
Hydrator是将原始db输出绑定到doctrine中的各种数据类型的处理器。因此你有Doctrine_Core :: HYDRATE_RECORD这是标准的保湿器(也就是当你使用$ query-> getResult()时调用的东西)。
如果你使用$ query-> getArrayResult(),它会使用Doctrine_Core :: HYDRATE_ARRAY Hydrator。

如果您需要更详细的描述,请告诉我。