Symfony查找一个依据/查找依据

cigdeys3  于 2022-12-13  发布在  其他
关注(0)|答案(2)|浏览(118)

有没有人面对这个奇怪的问题与Symfony 3(非常最后一个版本)?
下面是一个简单的代码:

$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);

这段代码是有效的。
我清除该高速缓存并将findOneBy更改为findBy

$service = $repository->findBy(array('name' => 'Registration'),array('name' => 'ASC'),1 ,0);

则出现以下错误:
错误:对数组调用成员函数getComment()
是不是有人有想法或者线索?
先谢谢你。

ego6inou

ego6inou1#

findBy()返回具有给定条件的对象数组。
如果没有找到,则返回一个空数组。如果只有一行满足条件,则可以在$service的最后添加一个[0],如下所示:

$service = $repository->findBy(array('name' => 'Registration'),array('name' => 'ASC'),1 ,0)[0];

如果没有,则应该使用foreach或类似的命令遍历找到的数组。

ffscu2ro

ffscu2ro2#

如果你想要并期待一个结果,你可以使用findOneBy()函数。

$service = $repository->findOneBy(array('name' => 'Registration'),array('name' => 'ASC'),1 ,0)[0];

相关问题