Doctrine ManyToOne不会级联持久化

时间:2013-03-30 00:44:48

标签: php doctrine-orm doctrine

我正在尝试执行以下操作:

/**
 * @Entity
 */
class Player {

    /**
     *@Column
     *@Id
     */
     private $uuid; //gets assigned a Uuid in the constructor

    /**
     * @ManyToOne(targetEntity="Team", cascade={"persist"})
     * @JoinColumn(referencedColumnName="uuid")
     */
     private $team;

     public function setTeam(Team $team) {
         $this->team = $team;
     }

     //...
}

/**
 * @Entity
 */
class Team {
    /**
     * @Column
     * @Id
     */
    private $uuid; //gets assigned a Uuid in the constructor

    //...
}

$player = new Player;
$team = new Team;
$player->setTeam($team);
$entityManager->persist($player);
$entityManager->flush();

团队没有坚持到数据库。

我不想在我的情况下调用$entityManager->persist($team),团队是在我不了解持久性的代码的一部分中创建的。

我的期望是cascade={"persist"}选项应该使EntityManager也保持团队。 为什么我的期望错了或我做错了什么?

1 个答案:

答案 0 :(得分:1)

我没有弄错......这是按预期工作的!

再看一下,在将球队加入球员之后,从未有过同花顺 再次阅读我自己的问题,我意识到我错过了什么...... 我应该更频繁地和我的橡皮鸭说话,所以看起来似乎......