manyToMany 関係を持つ同じオブジェクトの 2 つのインスタンスを追加したい。
class A {
/**
* @ORM\ManyToMany(targetEntity="RelatedEntity", inversedBy="teachers", cascade={"persist", "remove"})
* @ORM\JoinTable(name="table1",
* joinColumns={@ORM\JoinColumn(name="class_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="related_id", referencedColumnName="id")}
* )
*/
protected $myFirstEntities;
/**
* @ORM\ManyToMany(targetEntity="RelatedEntity", inversedBy="students", cascade={"persist", "remove"})
* @ORM\JoinTable(name="table2",
* joinColumns={@ORM\JoinColumn(name="class_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="related_id", referencedColumnName="id")}
* )
*/
protected $mySecondEntities;
}
class RelatedEntity
{
/**
*
* @ORM\ManyToMany(targetEntity="A", mappedBy="myFirstEntities", cascade={"persist"})
*/
protected $teachers;
/**
*
* @ORM\ManyToMany(targetEntity="A", mappedBy="mySecondEntities", cascade={"persist"})
*/
protected $students;
}
私が使用するとき
php app/console doctrine:generate:entities MyApp
プログラムは、次の名前のエンティティを追加するための一意のメソッドを生成します。
public function addRelatedEntity(\MyApp\MyBundle\Entity\RelatedEntity $myFirstEntities)
{
$this->myFirstEntities[] = $myFirstEntities;
}
そのため、mySecondEntities を追加できません。どうすればよいですか。手動の方法では追加できますが、自動の方法では追加できません。
私の質問は、特定のクラスの 2 つの多対多関係を同じクラスに使用できますか? どうすればいいですか?