检查持久但未刷新的用户

时间:2016-11-20 16:41:22

标签: php doctrine symfony

让我们说,我有一个评论功能,当名称仍然不存在时,应始终将用户添加到数据库。

目前我首先进行检查,如果不成功,我会创建一个新的实体并持久保存用户。

    //try to find userName in DB
    $user = $this->entityManager->getRepository('AppBundle:User')->findByName($userName);

    //create new user if not existing
    if (!$user) {

        $user = new \AppBundle\Entity\User();
        $user->setName($userName);
        $this->entityManager->persist($user);
    }

稍后会将$user实体添加/链接到$comment实体。然后一切都会被冲洗。

现在我的问题是,不仅一个评论被刷新,而且通常是多个评论一起。看来,新用户会写一个以上的评论。

然后我在repo中的检查不起作用,因为新用户只是持久但尚未刷新。我会遇到一个独特的失败,或者新用户名会被添加两次。

我知道,我可以使用新的持久用户创建一个数组,并在检查repo时检查此数组。但我想知道是否有处理这个问题的学说方法?

0 个答案:

没有答案