sonata_type_collection :从当前实体实例设置默认字段值
Posted
技术标签:
【中文标题】sonata_type_collection :从当前实体实例设置默认字段值【英文标题】:sonata_type_collection : set default field value from current entity instance 【发布时间】:2016-01-06 05:34:32 【问题描述】:我需要有关“sonata_type_collection”的帮助:有没有办法为“sonata_type_collection(此处:现有实体的实例) /em>" 特定字段? 或者也许是一种给他参数的方法?
让我澄清一下: 这是我的实际“sonata_type_collection”表单的屏幕截图:
有什么方法可以让“Machine”字段保存我正在编辑的“MachineInfo”实体的当前实例,而不是“无选择” ” 当您单击(最后一个)“添加”按钮时的文本?
这是我当前来自“MachineInfoAdmin”的“configureFormFields”:
protected function configureFormFields(FormMapper $formMapper)
$formMapper
->add('name', 'text', array('label' => 'Nom'))
->add('description', 'text', array('label' => 'Description'))
->add('internalReference', 'text', array('label' => 'Référence interne'))
;
//Already instantiated
if ($this->id($this->getSubject()))
$formMapper
->add(
'machineParts',
'sonata_type_collection',
array(
'label' => "Pièces",
),
array(
'edit' => 'inline',
'inline' => 'table',
'sortable' => 'position',
)
)
;
我真的陷入了那个,我希望救世主可以提供他的知识来帮助我m(_ _)m
【问题讨论】:
你应该自己发布解决方案,因为你找到了它。 我觉得这样更好,谢谢^^" 【参考方案1】:我找到了解决方案,而且很简单,我很惭愧 =__=" 我忘记在新实例化的 MachinePart
中设置对 MachineInfo 的引用public function addMachinePart(MachinePartsInfo $machineParts)
$machineParts->setMachineInfo($this); //Missed this line
$this->machineParts[] = $machineParts;
return $this;
我希望这可以帮助将来的人:)
【讨论】:
以上是关于sonata_type_collection :从当前实体实例设置默认字段值的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Sonata Admin 中正确配置“sonata_type_collection”字段
sonata_type_collection btn_add 不工作
Symfony 3 / sonata_type_collection 更改查询每个添加行
Sonata Admin Bundle - 表单类型:sonata_type_collection - 自定义模板?