获取相关记录一对多关系Symfony2

时间:2016-01-15 11:04:46

标签: symfony doctrine-orm

我想检查当前用户是否已有当前日期的记录。用户实体有许多Timerecord,而Timerecord有一个用户。至今, 这两个实体位于两个不同的包中

   Project
       UserBundle
       TimerecordBundle

控制器

$user = $this->container->get('security.context')->getToken()->getUser();
        $userr = $user->getUsername();
        $alreadyLoggedIn = $em->getRepository('EmployeeBundle:Timerecord')->findAlreadyTimedInToday($userr);
        var_dump($alreadyLoggedIn);
        die();

程序存储库

  public function findAlreadyTimedInToday($userr)
{

    return $this
         ->createQueryBuilder('t')
         ->select('u.username')
         ->from('User u')
         ->join('u.Timerecord t')
         ->where('u.username LIKE :currentuser')
         ->setParameter('currentuser',$userr)
         ->getQuery()
         ->getSingleResult()
    ;     
}

我得到了这个例外

  

警告:缺少Doctrine \ ORM \ QueryBuilder :: from()

的参数2

在这种情况下如何获取相关用户?

1 个答案:

答案 0 :(得分:0)

public function findAlreadyTimedInToday($userr) { return $this ->createQueryBuilder('t') ->select('u.username') ->from('User', 'u') ->join('u.Timerecord', 't') ->where('u.username LIKE :currentuser') ->setParameter('currentuser', $userr) ->getQuery() ->getSingleResult() ; } 部分的别名应该给第二个参数。

将您的方法更改为:

ComboBox