2

是否有可能根据您是在 configureFormFields 中创建新实体还是编辑现有实体,向 Sonata Admin Bundle Form 添加不同的字段?

4

2 回答 2

6

我不确定这是否是最好的方法,但我已经使用:

protected function configureFormFields(FormMapper $form)
{
    // Add fields common to add AND edit...

    if ($this->getSubject()->getId() > 0) {
        // Add fields only when editing an existing object
    }
}

else显然,如果您只想为新对象添加字段,您也可以添加条件。

于 2013-05-24T14:22:36.410 回答
1

这是官方文档推荐的一种更好的方式(单击此处

$subject = $this->getSubject();

if ($subject->isNew()) {
    $formMapper->add('customField', TextType::class);
}

或者你可以这样做:

if ($this->isCurrentRoute('create')) {
    $formMapper->add('name', TextType::class);
}
于 2019-01-28T16:29:54.447 回答