如何使用 symfony 表单预选下拉列表的选项

how to preselect an option of a dropdown list with symfony forms

一篇文章有​​多个变量。标题、日期、可见性和类别。如果我用 symfony 渲染一个表单,我想在下拉列表中预选一个类别。在控制器中我有一个功能:

/**
 * @return Response
 * @route ("/admin/add/{idartikeltype}",name="addbytype")
 */
public function addByType(Request $request, $idartikeltype)
{


    $form = $this->createForm(ArtikelType::class);


    $form->handleRequest($request);



    if ($form->isSubmitted() && $form->isValid()) {

        $item = $form->getData();
        $em = $this->getDoctrine()->getManager();

        $em->persist($item);
        $em->flush();

        return $this->redirectToRoute('lookup');
    }


    return $this->render('backend/add.html.twig', array('form'=>$form->createView(),));
}

slug idartikeltype 是一个整数,包含类别的 ID。我必须如何以空白形式预选正确的类别?

您需要先创建项目,设置类别,然后在表单中使用:

$category = $this->em->getRepository(Category::class)->find($categoryId);

$item = new Item();
$item->setCategory($category);

$form = $this->createForm(ArtikelType::class, $item);