【问题标题】:Symfony 2 Create a Entity in another Entiy FormSymfony2 在另一个实体表单中创建一个实体
【发布时间】:2014-06-22 11:39:25
【问题描述】:

您好,我认为会有一个非常简单的解决方案,但我有点卡在这里。

我有两个实体。一位作家和一首诗。不出所料,一个作者可以写很多诗,但一首诗只能有一个作者。

现在我有了我的诗歌形式:

class PoemType extends AbstractType
{

    /**
     *
     * @param FormBuilderInterface $builder            
     * @param array $options            
     */
    public function buildForm (FormBuilderInterface $builder, array $options)
    {
        $builder->add('title')
            ->add('authorId')
            ->add('text', 'textarea', 
                array(
                        'attr' => array(
                                'class' => 'tinymce'
                        )
                )
                );
    }

    /**
     *
     * @param OptionsResolverInterface $resolver            
     */
    public function setDefaultOptions (OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(
                array(
                        'data_class' => 'Galerie\PictureBundle\Entity\Poem'
                ));
    }

    /**
     *
     * @return string
     */
    public function getName ()
    {
        return 'galerie_picturebundle_poem';
    }
}

因此用户可以选择诗歌的作者。但我希望用户可以从这里添加作者。因此,如果他输入一首新诗而作者不存在,他可以在此处添加。

我已经找到了这个Allowing new tags with the prototype,但就我而言,没有收藏。

这可能吗?

提前感谢您的帮助;)

【问题讨论】:

    标签: php forms symfony entity


    【解决方案1】:

    您可以将作者表格嵌入到您的诗歌表格中。有关详细信息,请参阅文档 http://symfony.com/doc/master/book/forms.html#embedded-forms

    【讨论】:

    • 如果我每次添加一个新作者,这就是解决方案。但我只是有时需要添加一个新作者。
    • 不是真的,如文档中所述,您可以提供对象的键,或者如果没有创建实体,则如何向用户显示它取决于您...例如选择用于选择现有的字段,或者在隐藏的 div 中单击作者字段,一些 JS 魔法,你就完成了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-05
    相关资源
    最近更新 更多