Doctrine2 - 如何返回对象而不是数组

时间:2017-08-10 00:07:59

标签: php symfony doctrine-orm

我正在尝试创建一个评论表单,但我遇到了一些问题。

我使用findBy(array('slug' => $slug))检索我的数据。

我知道这个方法返回一个数组,而不是一个对象。 当我想添加评论时,我有一个错误

"Type error: Argument 1 passed to AppBundle\Entity\Comment::setTrick() must
 be an instance of AppBundle\Entity\Trick, array given, called in
 /Applications/MAMP/htdocs/SnowTricks/src/AppBundle/Controller
 /AppController.php on line 71"

如何创建或使用返回对象的方法?

感谢您的回复,对不起我的英文

1 个答案:

答案 0 :(得分:4)

如果您需要检索单个实体,则应使用方法::findOneBy

$entity = $this->getDoctrine()
    ->getRepository('AppBundle:Trick')
    ->findOneBy(array('slug' => $slug))
;