私はまだDoctrineを完全には理解していないと思いますが、これが私がしていることです:
ユーザーが一般的なもの(ユーザー、パス、電子メール)を入力するアカウント作成フォームがあり、データを取得して最初に電子メールオブジェクトを作成し、それをデータベースに保持します。
// Create a new email object.
$email = new Entities\EmailAddress();
$email->setEmailAddress($emailAddress);
// Persist the new email object.
$this->doctrine->em->persist($email);
次に、ユーザーオブジェクトを作成し、それをデータベースに永続化します。
// Create a new user object.
$user = new Entities\User();
$user->setUsername($username);
$user->setPassword($password);
$user->setSecurityLevel(0);
$user->getEmailAddresses()->add($email);
// Persist the new user object.
$this->doctrine->em->persist($user);
問題はその$user->getEmailAddresses()->add($email);
行から始まります(私は例に従おうとしていましたが、これを正しく行うにはほど遠いのではないかと心配しています)。
メールは私のファイルでそのように定義されていUser.php
ます:
/**
* @ORM\OneToMany(targetEntity="EmailAddress", mappedBy="user")
*/
private $emails;
$emails
最近永続化された電子メールオブジェクトをクラスの1対多の関係変数に追加しUser.php
、ユーザーをデータベースに永続化するにはどうすればよいですか?