Doctrine Symfony findOneBy/findBy
有人在Symfony 3(最新版本)中遇到过这个奇怪的问题吗 我有以下简单的代码:Doctrine Symfony findOneBy/findBy,doctrine,symfony,Doctrine,Symfony,有人在Symfony 3(最新版本)中遇到过这个奇怪的问题吗 我有以下简单的代码: $repository = $this->getDoctrine() ->getManager() ->getRepository('GeneralRegistrationBundle:Service'); $service = $repository->findOneBy(array('name' =>
$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或类似的东西循环查找到的数组。您期望的是什么?findOne只返回一个对象。“查找”总是返回一个包含0个或多个对象的数组。Fuhhh…我现在需要去度假…谢谢CeradIs,这个问题解决了吗?如果是,请标记或张贴答案并接受。