我正在尝试将从querybuilder查询中检索到的一些数据输出到带有AJAX的Datatables表中。我有我的Zend Framework 2控制器和动作设置来返回一个新的JsonModel,它工作正常。
但是,我的Entity中的一个字段是datetime字段,因此Doctrine会自动将其作为Datetime对象返回,这会导致解析Datatables的JSON响应时出现问题。请参阅下面的示例JSON:
{"aaData":[{"rSerial":"345gsdf","rPin":"76","rValue":633,"rDatetime":{"date":"2013-12-18 09:24:19","timezone_type":3,"timezone":"Europe\/London"}}],"success":true}
有没有办法可以在检索结果时返回格式化为字符串的rDatetime列,以节省我不得不循环并更改结果数组中的格式?
$results = $queryBuilder->getQuery()->getResult(\Doctrine\ORM\AbstractQuery::HYDRATE_ARRAY);
答案 0 :(得分:2)
实际上似乎有bug report for this issue supposed fix here
所以我假设您可以使用scalar hydration
返回一个扁平的矩形结果集,而不是一个可以使用标量水合作用的对象图
所以你的查询只需要
$query = $queryBuilder->getQuery();
$results = $query->getResult(Query::HYDRATE_SCALAR);