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

私は間違っていませんでした...これは期待どおりに機能します!

もう一度見てみると、チームがプレーヤーに追加された後、フラッシュはありませんでした。
自分の質問をもう一度読んで、見逃したことに気づきました...
ゴム製のアヒルともっと頻繁に話さなければならないので...

于 2013-03-30T01:05:16.727 に答える