【发布时间】:2014-01-25 14:26:45
【问题描述】:
我有两个实体:以多对多关系链接的项目和课程。
从 Entity\Project.php 中提取
/**
* @var Course[]
*
* @ORM\ManyToMany(targetEntity="Talentec\SdBundle\Entity\Course", inversedBy="projects")
*/
private $courses;
从 Entity\Course.php 中提取
/**
* @var Project[]
*
* @ORM\ManyToMany(targetEntity="Talentec\SdBundle\Entity\Project", mappedBy="courses")
*/
private $projects;
在我的控制器中,我想使用 Doctrine 的 findBy()(或 findByProject())来查找与某个项目相关的所有课程。
是否可以执行以下操作:
$this->getDoctrine()->getRepository('SdBundle:Course')->findBy(array('project' => $projectID));
或:
$this->getDoctrine()->getRepository('SdBundle:Course')->findByProject(project_id);
我认为这是不可能的,因为 Course 上的字段被声明为 $projects(由于多对多关系),而不是 $project。
是否有类似的方法来查找以多对多关系链接的实体?
【问题讨论】:
标签: symfony doctrine-orm many-to-many