[英]How is it possible to fill a OneToMany relationship with new entities in Symfony forms?
我想為名為Order
實體創建一個表單:
/** @ORM\Entity */
class Order {
//...
/**
* @ORM\OneToMany(targetEntity=Entry::class, mappedBy="order", orphanRemoval=true)
*/
private $entries;
//...
}
Entry
類如下所示:
/** @ORM\Entity */
class Entry {
//...
/**
* @ORM\ManyToOne(targetEntity=Product::class)
* @ORM\JoinColumn(nullable=false)
*/
private $product;
/**
* @ORM\Column(type="integer")
*/
private $count = 0;
//...
}
我已經為Entry
定義了一個類型。
一個Order
有多個Entry
。 我希望可以在創建Order
的同一表單中創建條目。 我不能將EntityType
與'multiple' => true
,因為Entry
實例在Order
之前不存在。
您可以使用CollectionType::class
嵌入另一個表單。 創建一個EntryType
表單並將其添加到帶有CollectionType
字段的OrderType
表單中。 添加一個allow_add
屬性並查看文檔以了解如何顯示表單。
如果你想持久化/刷新所有實體,你必須在你的關系中添加一個 `cascade={'persist'}。
這可以通過 symfony 使用嵌入形式輕松完成。
關於如何使用它有很多話要說,所以這里是:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.