我有一个我想要转换为数组的对象。我真正需要的是来自DB的当前记录的数据数组。由于对象的递归结构,序列化程序无法提供帮助。
类似Doctrine::HYDRATE_ARRAY
但已获取对象。
答案 0 :(得分:0)
您可以这样做,无需转换数据。 在查询中,不要选择实体的所有对象,而只选择所需的字段。这样查询返回一个数组数组,如:
$results = array(
0 => array('col1' => 'some_data', 'col2' => 'some_other_data'),
1 => array('col1' => 'some_data', 'col2' => 'some_other_data')
);
而不喜欢:
$results = array(
0 => Object of type Categories(for example),
1 => Object of type Categories(for example)
);
查询应该是这样的:
$em->createQueryBuilder('c')
->select('c.name, c.shortName, c.some_column')
->from('AppBundle:Entity:Category', 'c')
->getQuery()
->getResult();