有没有人面对symfony3这个奇怪的问题(最后一个版本)?
我有以下简单代码
$repository = $this->getDoctrine()
->getManager()
->getRepository('GeneralRegistrationBundle:Service');
$service = $repository->findOneBy(array('name' => 'Registration'),array('name' => 'ASC'));
$comment = $service->getComment();
$name = $service->getName();
return new Response('le service is '. $name . ', content is ' . $comment);
此代码有效。 我清除缓存并使用findBy更改findOneBy:
$service = $repository->findBy(array('name' => 'Registration'),array('name' => 'ASC'),1 ,0);
然后我有以下错误:
错误:在数组
上调用成员函数getComment()
有人有想法或线索吗?
提前致谢
答案 0 :(得分:14)
findBy()返回具有给定条件的对象数组。 如果没有找到,则返回一个空数组。如果只有一行满足您的条件,则必须在$ service的最后一行添加[0],如下所示:
$service = $repository->findBy(array('name' => 'Registration'),array('name' => 'ASC'),1 ,0)[0];
如果没有,你应该使用foreach或类似的东西遍历找到的数组。