我想把我的实体放在查询构建器的函数中:
- ->add( 'weeks','entity',array(
- 'class' => 'MV\CaravanBundle\Entity\CaravanRow','property' => 'line','query_builder' => function(EntityRepository $er ) use ( $caravan ) {
- return $er->createQueryBuilder('w')
- ->orderBy('w.dateFrom','ASC')
- ->where('w.caravan = ?',$caravan )
- ->andWhere('w.visible = 1')
- ->andWhere('w.booked = 0');
- }
但是得到消息:
Expression of type ‘Entity\Name’ not allowed in this context
那么什么是(最好)的方式来给出querybuilder信息。
解决方法
您应该像这样分别设置参数:
- ->add( 'weeks','ASC')
- ->where('w.caravan = ?1')
- ->andWhere('w.visible = 1')
- ->andWhere('w.booked = 0')
- ->setParameter(1,$caravan);
- }
您可以使用整数或字符串,但每个语法的语法略有不同。见the docs