2017-05-25 132 views
0

隨着Easyadmin,Symfony3和Doctrine我試圖顯示一個文章的嵌入式窗體添加到自己的網址。Easyadmin一對多:不顯示錶格

但是,文章形式目前不顯示的UrlType形式,但相反,文本框,它看起來 - 期望我想補充的URL的ID。

enter image description here

我發現,下面的配置應該是工作(根據this question):

 form: 
      fields: 
       [...] 
       - { property: 'urls', type: 'collection', type_options: { entry_type: 'MyVendor\MyBundle\Form\UrlType', by_reference: false } } 

文章:

class Article 
{ 
    [..] 

    /** 
    * @ORM\OneToMany(targetEntity="Url", mappedBy="article", cascade={"persist", "remove"}) 
    */ 
    private $urls; 

    public function __construct() { 
     $this->urls = new ArrayCollection(); 
    } 

    /** 
    * Add url 
    * 
    * @param Url $url 
    * 
    * @return Article 
    */ 
    public function addUrl(Url $url) 
    { 
     $url->setArticle($this); 

     $this->urls[] = $url; 

     return $this; 
    } 

    /** 
    * Remove url 
    * 
    * @param Url $url 
    */ 
    public function removeUrl(Url $url) 
    { 
     $this->urls->removeElement($url); 
    } 

    /** 
    * Get url 
    * 
    * @return \Doctrine\Common\Collections\Collection 
    */ 
    public function getUrls() 
    { 
     return $this->urls; 
    } 
} 

地址:

class Url 
{ 
    [..] 

    /** 
    * @var Article 
    * 
    * @ORM\ManyToOne(targetEntity="Article", inversedBy="urls") 
    * @ORM\JoinColumns({ 
    * @ORM\JoinColumn(name="article_id", referencedColumnName="id") 
    * }) 
    */ 
    private $article; 


    /** 
    * Set article 
    * 
    * @param Article $article 
    * 
    * @return Url 
    */ 
    public function setArticle(Article $article = null) 
    { 
     $this->article = $article; 

     return $this; 
    } 

    /** 
    * Get article 
    * 
    * @return Article 
    */ 
    public function getArticle() 
    { 
     return $this->article; 
    } 
} 

UrlType:

public function buildForm(FormBuilderInterface $builder, array $options) 
{ 
    $builder->add('address', TextType::class); 
    $builder->add('description', TextType::class); 
} 

我已經檢查,雙重檢查,並在代碼中嘗試了很多東西,谷歌搜索以及計算器。

如何顯示字段以將新網址添加到文章中?

回答

0

感謝友好的朋友EasyAdmin此問題已解決。事實證明,儘管在YAML配置中使用了UrlType的完全限定名稱空間,但類型將被Symfony UrlType覆蓋。

解決方案:重命名MyVendor\MyBundle\Form\UrlType到例如MyVendor\MyBundle\Form\UrlEntityType

這看起來像在任何Symfony的或EasyAdmin的錯誤。