Doctrine v2.2.1 を使用しています。YML で定義されたエンティティを使用。
ここでは、特定の関連付けで相互に参照している 2 つのエンティティがあります。
entities\User:
type: entity
table: user
oneToMany:
subjectNews:
targetEntity: entities\News
mappedBy: subjectUser
cascade: ["all"]
actionNews:
targetEntity: entities\News
mappedBy: actionUser
cascade: ["all"]
entities\News:
type: entity
table: news
manyToOne:
subjectUser:
targetEntity: entities\User
cascade: ["all"]
nullable: true
actionUser:
targetEntity: entities\User
cascade: ["all"]
nullable: true
これらの定義に従ってエンティティ クラスを生成すると、entities\User php クラスで予期しない結果が得られます。どちらが好きですか;
/**
* Add subjectNews
*
* @param entities\News $subjectNews
* @return User
*/
public function addNews(\entities\News $subjectNews)
{
$this->subjectNews[] = $subjectNews;
return $this;
}
エンティティのセッター メソッドは期待どおりに生成されます。ただし、entities\User の add メソッドは期待どおりに生成されません。
私は何か間違ったことをしていますか?または、これに対する回避策はありますか?それともDoctrine2 の Limitations and Known Issues doc で言及されている問題に関連していますか?
平和