0
隨着Easyadmin,Symfony3和Doctrine我試圖顯示一個文章的嵌入式窗體添加到自己的網址。Easyadmin一對多:不顯示錶格
但是,文章形式目前不顯示的UrlType形式,但相反,文本框,它看起來 - 期望我想補充的URL的ID。
我發現,下面的配置應該是工作(根據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);
}
我已經檢查,雙重檢查,並在代碼中嘗試了很多東西,谷歌搜索以及計算器。
如何顯示字段以將新網址添加到文章中?