Symfony的版本3.1.3Symfony的3:如何在一個形式
我已經使用的實體,稱爲類,你可以看到下面的控制器中創建一個下拉列表中,使用兩個選擇/下拉菜單中的兩個表中
public function studentAddClassAction($id, Request $request)
{
// get the student from the student table
$em = $this->getDoctrine()->getManager();
$user = $em->getRepository('PIE10Bundle:Users')->find($id);
// new class object and create the form
$classes= $em->getRepository('PIE10Bundle:Classes')->findAll();
$form = $this->createForm(ClassType::class, $classes);
$form->handleRequest($request);
if($form->isSubmitted() && $form->isValid())
{
// form submit operations
}
return $this->render(
'PIE10Bundle:student:layout_student_addclass.html.twig',
array(
'user' => $user,
'title' => 'Add Class',
'tables'=> 1,
'form' => $form->createView()
)
);
}
和類類別低於
class ClassType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('classes',
EntityType::class,
array('class' => 'PIE10Bundle:Classes',
'expanded' => false,
'multiple' => false,));
$builder->add('Add Class',
SubmitType::class,
array('attr' => array('class' => 'btn btn-primary',
'style' => 'margin:15px 0;')));
}
}
而這個工作正常,它提供了數據庫中的所有類。此外,我還有一個實體,稱爲用戶,它有一個叫列角色(DC2Type:數組),它有一個角色叫ROLE_PARENT
,我可以使用下面的查詢
$query = $this->getDoctrine()->getEntityManager()
->createQuery('SELECT u FROM PIE10Bundle:Users u WHERE u.roles LIKE :role')
->setParameter('role', '%"ROLE_PARENT"%');
$users = $query->getResult();
我的問題檢索所有家長是如何將這些父母列表作爲選擇列表添加到studentAddClassAction控制器中。
請讓我知道這是需要的任何其他信息。
是'User'和'Classes'通過多對多映射,並且要在這種形式只是爲了創建它們之間的聯繫?換句話說,將User分配給Class? –
是的,我想爲用戶分配Class和Parents,他們將被存儲在一個名爲** students **的單獨表中,它有三列ClassID,ParentID和UserID。所以我想爲父母添加另一個選擇列表。 – mapmalith