Dr.*_*all 1 php mysql orm symfony doctrine-orm
我在Symfony2存储库中执行以下查询.查询看起来像
$q = $this
->createQueryBuilder('m')
->select(array('m.reciever','m.created','m.id','m.subject'))
->where('m.reciever = ?1')
->orderBy('m.id','DESC')
->setMaxResults( '?2' )
->setFirstResult( '?3' )
->setParameter(1,$id)
->setParameter(2,$itemsPerPage)
->setParameter(3,$offset)
->getQuery();
Run Code Online (Sandbox Code Playgroud)
其中reciever,created,id和subject是我的消息实体的字段.我不需要指定我选择的实体.我一直得到的错误就是......
[Semantical Error] line 0, col 12 near 'reciever, m.created,': Error: Invalid PathExpression. Must be a StateFieldPathExpression.
Run Code Online (Sandbox Code Playgroud)
我不确定状态字段路径表达式是什么或语法可能是什么.似乎一切都应该是正确的.
使用该select()方法时,将覆盖默认值$this->createQueryBuilder('m').这就是你丢失m别名的原因.要避免这种情况,请在方法中使用addSelect()或指定:aliasfrom()
->from('Bundle:Entity', 'ALIAS')
Run Code Online (Sandbox Code Playgroud)