Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我如何在symfony 2上通过多对多关系加入2类链接?_Symfony_Join_Many To Many - Fatal编程技术网

我如何在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属性中。只需获得教授列表,然后为每个教授获取模块。我希望你们记住,这是每个教授的一系列模块。