我有个问题。我想执行这个
$events1 = $em->getRepository('AfishaBundle:Event')->getEvents($this->getCurrentRegion(),'2012-11-12');
//$event_repo->clear();`
$events2 = $em->getRepository('AfishaBundle:Event')->getEvents($this->getCurrentRegion(),'2012-11-13');
foreach($events2 as $event){
die(var_dump($event->getSeanses()->toArray()));
}
但是当我不使用时,结果返回第一个日期 =“2012-11-12” $event_repo->clear();
没关系,但我在使用Twig渲染时遇到了问题。我可以在没有clear()
方法的情况下执行这个吗?如果我不能,请发表评论。
为了完整起见,这是getEvents()
代码:
public function getEvents($region, $date){
$qb = $this->_em->createQueryBuilder();
$qb
->select('e,s')
->from('AfishaBundle:Event', 'e')
->leftJoin('e.seanses', 's')
->andWhere('s.date = :date')
->andWhere('s.region = :region')
->setParameter('region', $region)
->setParameter('date',$date)
;
return $qb->getQuery()->getResult();
}
Event
这是和之间的关系EventSeans
:
/**
* @ORM\OneToMany(
* targetEntity="EventSeans",
* cascade={"persist", "remove", "merge"},
* mappedBy="event"
* )
* @ORM\OrderBy({"time"= "ASC"})
*/
protected $seanses;
最后,这是EventSeans
实体中的日期字段
/**
* @ORM\Column(name="date", type="date")
*/
protected $date;