这是我的分类模型: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
任何帮助或线索?也许问题出现在模型上?但我看不到哪里。
答案 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”