Symfony2 Doctrine findBy导致致命错误

时间:2011-12-12 11:03:37

标签: doctrine doctrine-orm

当我使用findBy函数而不是在smyfony服务容器中查找时,会导致错误。

$site = $this->em->getRepository('...')->find($id);
$site->getTitle();

工作正常。如果我使用findBy

$site = $this->em->getRepository('...')->findByTitle($id);
$site->getTitle();

我收到错误“致命错误:调用成员函数getTitle();”。

我需要改变什么?

1 个答案:

答案 0 :(得分:0)

不,注释不正确。

您必须使用@Id标识符才能使查找功能起作用。

另外,我强烈建议您在任何地方定义ID,因为如果没有它,加入将无法正常工作(除非您的意思是手动编写每个连接条件)。

是的,如果你只想要一个实体,findOneBy就是你要走的路。另请注意,find只是findOneById的快捷方式,其中Id是您使用@Id注释引用的列。

查看docs

另外我建议你编辑问题和标签,如果其他人偶然发现了这个问题。这与Symfony无关,它与Doctrine有关。

相关问题