我如何在symfony 2上通过多对多关系加入2类链接?
我的问题是,很明显,我在两个类之间为一个查询进行错误的连接。我的目标是选择一位老师的名字和他所教的模块 以下是参加我的教师课堂的多对多成员:我如何在symfony 2上通过多对多关系加入2类链接?,symfony,join,many-to-many,Symfony,Join,Many To Many,我的问题是,很明显,我在两个类之间为一个查询进行错误的连接。我的目标是选择一位老师的名字和他所教的模块 以下是参加我的教师课堂的多对多成员: /** * @var \Doctrine\Common\Collections\Collection * * @ORM\ManyToMany(targetEntity="Module", inversedBy="idProfesseur") * @ORM\JoinTable(name="enseigne", * joinColumns={
/**
* @var \Doctrine\Common\Collections\Collection
*
* @ORM\ManyToMany(targetEntity="Module", inversedBy="idProfesseur")
* @ORM\JoinTable(name="enseigne",
* joinColumns={
* @ORM\JoinColumn(name="ID_PROFESSEUR", referencedColumnName="ID_PROFESSEUR")
* },
* inverseJoinColumns={
* @ORM\JoinColumn(name="ID_MODULE", referencedColumnName="ID_MODULE")
* }
* )
*/
private $idModule;
以下是我的模块类中的多对多连接:
/**
* @var \Doctrine\Common\Collections\Collection
*
* @ORM\ManyToMany(targetEntity="Professeur", mappedBy="idModule")
*/
private $idProfesseur;
这里是我尝试的最后一个查询:
public function findAllClasses()
{
return $this->getEntityManager()
->createQuery('SELECT p.nom, m.nomModule
FROM AppBundle:Professeur p, AppBundle:Module m
WHERE p.idProfesseur = m.idModule
AND p.idProfesseur = 1
')
->getResult();
}
它返回一个空结果。
所以,我的问题是:我怎样才能加入
确切地说,我在mysql workbench上完成了这项工作,它可以工作:
SELECT p.nom, m.NOM_MODULE FROM PROFESSEUR p, ENSEIGNE e, MODULE m WHERE p.ID_PROFESSEUR = e.ID_PROFESSEUR AND e.ID_MODULE = m.ID_MODULE AND p.ID_PROFESSEUR = 16
professor的所有模块都存储在professor实体的$idModule属性中。只需获得教授列表,然后为每个教授获取模块。我希望您记住,它是每个教授的模块数组。教授的所有模块都存储在Professor实体的$idModule属性中。只需获得教授列表,然后为每个教授获取模块。我希望你们记住,这是每个教授的一系列模块。