【发布时间】:2015-04-14 11:14:33
【问题描述】:
我目前正在开发一个 symfony 项目,我需要一个表单来编辑一个名为 Location 的现有实体。
一个Location 对象可以容纳0 to n Machines。表单应包含多个复选框,预选值取决于天气实体Location 是否已包含任何Machine。如果是,请预先选择复选框,如果不是,请将其留空。
地点:
...
class Location
{
/**
* @ORM\OneToMany(targetEntity="Machine", mappedBy="location")
*
*/
private $machines;
...
机器:
...
class Machine
{
/**
* @ORM\ManyToOne(targetEntity="Location", inversedBy="machines")
* @ORM\JoinColumn(name="location_id", referencedColumnName="id")
*/
private $location;
...
我这样构建表单:
$form = $this->createFormBuilder($location)
->add('name', null , array( 'label' => 'Roomname: ', 'attr'=> array( 'placeholder'=>'Enter a name') ) )
->add('descr', null , array( 'label' => 'Description: ', 'attr'=> array( 'placeholder'=>'Enter a description') ) )
->add('machines', 'entity', array('class' => 'PRwissHostsBundle:Machine',
'property' => 'name',
'required' => false,
'expanded' => true,
'multiple' => true,
))
->getForm();
上面的代码生成了一个带有几个复选框的表单,旁边有实体名称。我想预先选择那些机器已经与该位置相关的复选框。
我看过this 的问题,但不幸的是"data" => x 只指一个值。
有什么想法可以做到这一点吗?提前致谢!
【问题讨论】: