注意:SqlWalker.php上的未定义索引

时间:2012-03-23 13:00:16

标签: symfony doctrine doctrine-orm

这是我的分类模型:http://pastebin.com/Wk5iw3Hf 和 这是我的Proyectos模型:http://pastebin.com/LDTpZ3Cy

一个类别有许多项目。

在我的存储库中,我尝试加入这些模型,如下所示:

public function findMistareas() {
        $em = $this->getEntityManager();
        $consulta = $em->createQuery('SELECT c, p FROM GestionBundle:Categorias c JOIN c.proyectos p ');
        return $consulta->getResult();
}

但是我收到了这个错误:

Notice: Undefined index: Categorias in /Users/gitek/www/ges/vendor/doctrine/lib/Doctrine/ORM/Query/SqlWalker.php line 747

任何帮助或线索?也许问题出现在模型上?但我看不到哪里。

1 个答案:

答案 0 :(得分:3)

/**
 * @ORM\ManyToOne(targetEntity="Categorias",inversedBy="proyectos")
 * @ORM\JoinColumn(name="categoria_id", referencedColumnName="id")
 */
private $categoria;

/**
 * @ORM\OneToMany(targetEntity="Hitos", mappedBy="Proyectos")
 * @ORM\OrderBy({"orden" = "ASC"})
 */
private $hitos;

'SELECT p,h FROM GestionBundle:Proyectos p JOIN p.hitos h'

您的问题是关于类别,但您的查询使用了hitos? mappedBy和inversedBy区分大小写,因此可能需要mappedBy =“proyectos”而不是mappedBy =“Proyectos”