有人遇到过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()
有人有想法或线索吗?
提前致谢
最佳答案
findBy()返回具有给定条件的对象数组。
如果没有找到,则返回一个空数组。如果只有一行满足您的条件,则必须在$ service的最后添加一个[0],如下所示:
$service = $repository->findBy(array('name' => 'Registration'),array('name' => 'ASC'),1 ,0)[0];
如果不是,则应使用foreach或类似的东西循环遍历找到的数组。
关于doctrine - symfony findBy/findOneBy,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38815175/