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

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

问题描述:

我想创建一个评论表单,但我坚持的东西。Doctrine2 - 如何返回一个对象,而不是一个数组

我用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

请出示您的更多AppController.php代码。特别是在71号线周围。 –

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

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

它工作得很好,对不起,我应该检查findOneBy方法返回一个对象... –