Tom*_*Tom 5 symfony-forms symfony
我有2个实体,Product和Product_Types.
这是他们之间的关系:
manyToOne:
product:
targetEntity: Product
joinColumn:
name: product_id
referencedColumnName: id
Run Code Online (Sandbox Code Playgroud)
当我添加新产品时,我希望能够使用相同的表单向此产品添加类型.
->add('productColor', 'collection', array("type" => new ProductColorType(), "allow_add" => true, 'prototype' => true))
Run Code Online (Sandbox Code Playgroud)
这就是我嵌入表单的方式.
'data_class'是为ProductType和ProductTypesType设置的,当我添加一个带有类型的新产品时,一切都很好,除了一件事,symfony/doctrine没有设置'product_id'列,所以之间没有任何关系我的产品及其类型.
您需要手动交叉链接您的实体.Symfony和Doctrine都不会为你做这件事.例如,您可以在add ...()方法中执行此操作:
public function getProductColors()
{
return $this->productColors;
}
public function addProductColor(ProductColor $color)
{
$this->productColors->add($color);
$color->setProduct($this);
}
Run Code Online (Sandbox Code Playgroud)
然后必须满足三个要求才能实现:
false如果你做这一切,你应该没事.
| 归档时间: |
|
| 查看次数: |
871 次 |
| 最近记录: |