sonata_type_collection:从当前实体实例

时间:2015-10-08 14:18:52

标签: symfony sonata-admin sonata

我需要帮助" sonata_type_collection " :有没有办法为" sonata_type_collection "定义默认值(此处为:现有实体的实例)具体领域? 或者也许是给他参数的方法?

让我澄清一下: 这是我的实际" sonata_type_collection "的截图。表格一旦呈现:

enter image description here

有没有办法制作" 机器"字段保存" MachineInfo "的当前实例我正在编辑的实体而不是" 无选择"单击(最后一个)" 添加"按钮?

这是我当前的' configureFormFields"来自" MachineInfoAdmin " :

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

1 个答案:

答案 0 :(得分:6)

我找到了解决方案,这很简单,我很惭愧= __ =" 我忘了在新实例化的 MachinePart

中设置对 MachineInfo 的引用
public function addMachinePart(MachinePartsInfo $machineParts) {
    $machineParts->setMachineInfo($this); //Missed this line
    $this->machineParts[] = $machineParts;

    return $this;
}

我希望这可以帮助将来的某个人:)