1

我在数据库中创建了两个条目:

$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();

有更好的方法吗?而不是向数据库发出另一个请求?在教义 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 回答