我有个问题。一开始,这是我创建表单的操作:
public function wyswietlDostepneTerminyAction($kategoria) {
$zlecenie = new Zlecenia();
$form = $this->createForm(new ZleceniaAddType(), $zlecenie);
return array ('form' => $form->createView(), 'kategoria'=>$kategoria);
}
'Zlecenie' 对象具有 'Kategorie' 类型的 'Kategoria' 字段(其来自关系)。
持久化实体的方法:
public function noweZlecenieAction(Request $request) {
$entity = new Zlecenia();
$form = $this->createForm(new ZleceniaAddType(), $entity);
$form->bind($request);
if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($entity);
$em->flush();
return $this->redirect($this->generateUrl('pokaz-zlecenie', array('id' => $entity->getId())));
}
return array(
'entity' => $entity,
'form' => $form->createView(),
);
}
并形成类:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('opis')
->add('klient', new KlientType())
//->add('kategoria')
;
}
通常,我可以添加如下字段:
->add('kategoria','entity', array('class'=>'Acme\MyBundle\Entity\Zlecenia')
并从列表中选择类别。
但问题是:我不想从选择列表或复选框列表中选择类别。我想使用预定义的 $kategoria 对象。当然(如果必须存在)“类别”字段必须隐藏。我怎样才能做到这一点?