0

2 人の人物を含む Duo エンティティがあります。作成中、作成者は電子メール アドレス パートナーを送信し、新しいデュオのキャプテンであるかどうかを決定します。彼がそうでないと判断した場合 (アシスタントになることを選択した場合)、自動的に 2 番目の人がキャプテンに割り当てられます。私の Duo エンティティは次のとおりです。

/**
 * @ORM\Table()
 * @ORM\Entity()
 */
class Duo{

    /**
    * @Assert\NotNull()
    * @ORM\OneToOne(targetEntity="User")
    * @ORM\JoinColumn(name="captain_id", referencedColumnName="id")
    */
    private $captain;

    /**
    * @Assert\NotNull()
    * @ORM\OneToOne(targetEntity="User")
    * @ORM\JoinColumn(name="assistant_id", referencedColumnName="id")
    */
    private $assistant;

パートナーを指定して送信される電子メール アドレスだけが存在するように、フォームをどのように整理すればよいでしょうか。を呼び出すときに$form->isValid()、Duo エンティティを有効にしたいと考えています。手動でデータを割り当てたり、フォーム外でエラーを処理したりしたくないので、エンティティのないフォームを使用したくありません。また、2 人のユーザーのうちの 1 人が別の Duo に関与していないかどうかを確認したいと思います。はいの場合、エラーメッセージをフォームにきれいな方法で渡す方法。

私は何をすべきか?フォーム コールバックやイベントなどを使用してそれを行う方法はありますか?

4

1 に答える 1