我有三个实体Stock
,StockDetail
和CatalogHasStock
。在CatalogHasStock
这是我的映射:
/**
* @ORM\ManyToOne(targetEntity="StockBundle\Entity\StockDetail")
* @ORM\JoinColumns(@ORM\JoinColumn(name="product", referencedColumnName="product"),
* @ORM\JoinColumn(name="company", referencedColumnName="company"),
* @ORM\JoinColumn(name="stock_detail", referencedColumnName="id"),
* @ORM\JoinColumn(name="upc", referencedColumnName="upc"),
* @ORM\JoinColumn(name="kcondition", referencedColumnName="kcondition"))
*/
protected $stock;
现在在StockDetail
这是映射:
/**
* @ORM\ManyToOne(targetEntity="StockBundle\Entity\Stock", inversedBy="sdetails")
* @ORM\JoinColumns(@ORM\JoinColumn(name="product", referencedColumnName="product"),
* @ORM\JoinColumn(name="company", referencedColumnName="company"),
* @ORM\JoinColumn(name="kcondition", referencedColumnName="kcondition"))
*/
protected $stock;
我需要在CatalogHasStock
中插入值,并且我这样做:
$catalog_has_stock = new CatalogHasStock ();
$catalog_has_stock->setStock($entityStockDetail);
但是我收到了这个错误:
注意:未定义的索引:产品在 /var/www/html/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php 第685行
映射部分有什么问题?
答案 0 :(得分:1)
尝试使用以下语法:
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="product", referencedColumnName="product"),
* @ORM\JoinColumn(name="company", referencedColumnName="company"),
* @ORM\JoinColumn(name="kcondition", referencedColumnName="kcondition")
* })
等。
好像你忘记了{}