コレクションの場合、新しく追加されたパーツがデータベースに既に存在するかどうかを確認したいと思います。もしそうなら、それは新しい値で上書きされます。
/** * Add Part */ public function addPart(\MyBundle\Entity\FooTypePart $Part) { $part->setProduct($this); $this->part[] = $part; return $this; } /** */ public function removePart(\MyBundle\Entity\FooTypePart $part) { $this->part->removeElement($part); } /** * Get Part * @return \Doctrine\Common\Collections\Collection */ public function getPart() { return $this->part; } /** * Set Part */ public function setPart($part) { $this->part = $part; return $this; }
Part エンティティには、ID、Category_id (FK)、Product_id (FK)、Part (コレクション) があります。
現時点では、同じ Product_id と Category_id を持つパーツが既に存在する場合でも、同じ名前の新しいパーツを追加できます。パーツは多くの製品/カテゴリに使用できるため、パーツを一意にすることは解決策ではありません。
次の例は、別の「パーツ」でデータベースに既に存在します。したがって、更新コマンドを実行する必要があります。
<?php
$part = new FooTypePart();
$part->setCategory($specification);
$part->setProduct($product);
$part->setPart('DifferentNamingThenCurrentOne');
$xx->addSpecificationValue($part);
どのように?:-)