2014-06-22 64 views
0

嗨我認爲會有一個非常簡單的解決方案,但我有點卡在這裏。Symfony 2創建一個Entity在另一個Entiy形式

我有兩個實體。一位作者和一首詩。正如所料,一位作者可以寫很多詩,但一首詩只能有一位作者。

現在我有我的詩形式:

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但在我的情況下沒有收集。

這可能嗎?

感謝您的幫助提前;)

回答

0

你可以嵌入筆者形式的詩歌形式。請參閱文檔 http://symfony.com/doc/master/book/forms.html#embedded-forms

+0

這是解決方案,如果我添加everey時間一個新的作者。但我只是有時需要添加一個新的作者。 – dominic

+0

不是真的,正如文件中所述,您可以給出對象的關鍵字,或者如果沒有給出實體創建,您如何顯示它給用戶取決於您...例如用於選擇現有的選擇字段,或點擊一個隱藏的div作者字段,一些JS魔法,你就完成了。 – Rufinus