我正在尝试在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
(被路由到控制器)已正确设置和路由。
我的语法有问题,还是对正在发生的事情有其他解释?
答案 0 :(得分:4)
$confirmationrepository = $this->getDoctrine()
->getRepository('TravelTravelBundle:Confirmation')
->findByuser($Username);
应该是
$confirmationrepository = $this->getDoctrine()
->getRepository('TravelTravelBundle:Confirmation');
答案 1 :(得分:0)
- > findByuser($用户名);获取一系列条目。因此$ confirmationrepository是一个数组,而不是您期望的存储库类。只需省略findByuser行。