我的问题很简单!
2个实体:
/**
* @ORMEntity
* @ORMTable(name="tournament")
*/
class Tournament
{
…
…
…
/**
* @ORMOneToMany(targetEntity="SiriruGSBundleEntityMatch", mappedBy="tournament")
*/
…
protected $matches;
public function start()
{
$this->addMatch(new Match());
}
}
和
/**
* @ORMEntity
* @ORMTable(name="match")
*/
class Match
{
/**
* @ORMManyToOne(targetEntity="SiriruGSBundleEntityTournament", inversedBy="matches")
* @ORMJoinColumn(nullable=false)
*/
protected $tournament;
}
我需要坚持使用start()
函数创建的新匹配。是否可以 ?也许这是一种非常糟糕的方法。
谢谢!
siriru
add: cascade={"persist"}
to $matches
属性中的 Tournament
类中的选项。现在当您这样做:
$myTournament->start();
$em->persist($myTournament);
$em->flush();
匹配记录将在DB中通过学说自动创建。