1

データベースに 2 つのエントリを作成します。

$new_user = new User();
$em->persist($new_user);

$new_friends = new UserFriends ();
$new_friends->setUserId($new_user);

UserFriends-Entity の一部:

/**
 * @var \User
 *
 * @ORM\ManyToOne(targetEntity="User")
 * @ORM\JoinColumns({
 *   @ORM\JoinColumn(name="user_id", referencedColumnName="user_id")
 * })
 */
private $user_id;

new User() から ID を取得して新しいエントリ new UserFriends() を作成するにはどうすればよいですか?

今、私はそうします

$em->persist($new_user); $em->flush();
$id = $em->.....getRepository('Entity:User')->find($id);
$new_friends = new UserFriends ();
$new_friends->setId($id);
$em->persist($new_friends); $em->flush();

それを行うより良い方法はありますか?データベースに別のリクエストを行う代わりに?doctrine 1.2 ではとても簡単でした。

4

1 に答える 1

0

を呼び出した後$em->flush();、呼び出し$new_user->getId();は新しく挿入された ID を返す必要があります。そう

$em->persist($new_user); 
$em->flush();
$new_friends = new UserFriends ();
$new_friends->setId($new_user->getId());
$em->persist($new_friends);
$em->flush();
于 2013-02-24T18:19:09.673 に答える