0
我看了Symfony
和Doctrine
的文檔,但是我仍然無法解決這個問題。主義多對多選擇
我正在與Symfony2
一起工作。實體正確設置。
我有兩個數據表: 學生, 組
我有映射表太: students_group
比方說,我有五組: G1,G2,G3,G4,G5
我想選擇G1,G2的所有學生,G3
我怎樣才能做到這一點?
目前我有這組代碼
public function filtered($array) {
/* GET DOCTRINE */
$repository = $this->getDoctrine()->getRepository('AppBundle:StudyGroups');
$query = $repository->createQueryBuilder('a')
->andWhere('a.id IN (:ids)')
->setParameter('ids', $array)
->getQuery();
$groups = $query->getResult();
$students = $groups->getStudents();
return $students;
}
這不起作用,因爲沒有方法getStudents()。 但是,如果我做這樣的事情
public function filtered($array) {
/* GET DOCTRINE */
$repository = $this->getDoctrine()->getRepository('AppBundle:StudyGroups');
$query = $repository->createQueryBuilder('a')
->andWhere('a.id IN (:ids)')
->setParameter('ids', $array)
->getQuery();
$groups = $query->getResult();
$students = array();
foreach ($groups as $group) {
$students = $group->getStudents();
}
return $students;
}
它的工作原理,但有一個問題:我剛剛從過去的foreach循環讓學生。 我正在考慮創建一個數組,但這些都是對象,並且合併工作也不盡如人意。老實說,我認爲有一個比這更簡單的方法,我只是找不到它。任何想法?