我正在使用Symfony CMF,我正在尝试从DocumentManager获取Page类的数据,Doctrine文档有一个通过DocumentManager获取数据的示例,与我的代码相同,但由于某种原因返回了一个空数组,类的路径是正确的,我检查了。我看了一下Symfony日志,一个有趣的点,doctrine.DEBUG显示了所有需要的元素,但只有一个字段 - url,但肯定至少有title和node_name,差距是什么?为什么$page变量中有一个空数组并显示日志中的所有数据?以及如何至少获得它们..?
/**
* @Route("/getSupportMenu")
*/
public function getSupportMenuAction (Request $request) {
$output = [
'output' => [],
'$request' => $request,
];
$locale = $request->getLocale ();
$this->dm->getLocaleChooserStrategy ()->setLocale ($locale);
$qb = $this->dm->createQueryBuilder ();
$qb
->from ()
->document ('ПутьДоСущности:Page', 'p')
->end ();
$pages = $qb->getQuery ()->getResult ();
$output['$pages'] = $pages;
return new JsonResponse ($output);
}
答案很简单:ArrayCollection存储在$page
变量中,您需要以类似的方式从此类中获取数据:
在这种情况下,$page将返回一个包含数据的数组,而不是ArrayCollection类的路径。