3

我正在尝试在 Symfony2.3 中使用查询生成器,但我不断收到错误消息: FatalErrorException: Error: Call to a member function createQueryBuilder() on a non-object in...line 45

这是我查询的第二部分,

$query = $tokenobject->createQueryBuilder('t')
        ->select('t.token','t.user', 't.expirationdate')
        ->where('t.user = :username','t.token = :token')
        ->setParameter('username', $Username)
        ->setParameter('token', $Token)
        ->orderBy('t.expirationdate', 'ASC')
        ->setMaxResults(1);

如果有帮助的话,整个代码:

$confirmationrepository = $this->getDoctrine()
        ->getRepository('TravelTravelBundle:Confirmation')
        ->findByuser($Username);

        $query = $confirmationrepository ->createQueryBuilder('t')
        ->select('t.token','t.user', 't.expirationdate')
        ->where('t.user = :username','t.token = :token')
        ->setParameter('username', $Username)
        ->setParameter('token', $Token)
        ->orderBy('t.expirationdate', 'ASC')
        ->setMaxResults(1);
        $token = $query->getResult();

我知道一个事实是正确地$confirmationrepository找到表列,并且(被路由到控制器)设置和路由正确。'user'$Username$Token

我的语法有问题,还是对正在发生的事情有其他解释?

4

2 回答 2

4
$confirmationrepository = $this->getDoctrine()
        ->getRepository('TravelTravelBundle:Confirmation')
        ->findByuser($Username);

应该

$confirmationrepository = $this->getDoctrine()
        ->getRepository('TravelTravelBundle:Confirmation');
于 2013-09-03T09:12:02.100 回答
0

->findByuser($用户名); 获取条目数组。所以 $confirmationrepository 是一个数组,而不是你期望的存储库类。只需省略 findByuser 行。

于 2013-09-03T09:11:50.213 回答