0

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

/**
 * @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 也保留团队。为什么我的期望是错误的,或者我做错了什么?

4

1 回答 1

1

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

再看一遍,在将 Team 添加到 Player 之后,从来没有出现过同花顺。
再次阅读我自己的问题,我意识到我错过了什么......
我应该更频繁地和我的橡皮鸭说话,所以看起来......

于 2013-03-30T01:05:16.727 回答