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