*我想在两个列的基础上加入表格。
我有这样的dql连接查询 -
$qb=$this->em->createQueryBuilder();
$from = 'Entities\User u';
$qb->select('u.id User_Id, u.name User_Name, evtvst.event Event_id,evt.name eventname, cty.name City,ctry.name Country')
->add('from', $from)
->join('Entities\EventVisitor','evtvst','with','u.id=evtvst.user')
->join('Entities\Event','evt','with','evt.id=evtvst.event')...........#
->join('Entities\Country','ctry','with','evt.country=ctry.id')
->join('Entities\City','cty','with','evt.city=cty.id')
->where('evtvst.user=?1')
->setParameter(1,$_GET["user"])
->setFirstResult($i)
->setMaxResults($max_result)
->distinct();
$query = $qb->getQuery();
$query->getSQl();
$results = $query->getResult();
现在我再向#greg colum添加一个条件 -
- >加入('实体\事件'' EVT''与',' evt.id = evtvst.event&#39 ;和' evt.eventEdition = evtvst.edition')
但它不起作用。 请告诉我们这样做的方法。
答案 0 :(得分:0)
好的,现在我找到了解决方案
您只需在第二次应用加入时更改表的别名。 我这样做了
->join('Entities\EventVisitor','evtvst','with','u.id=evtvst.user')
->join('Entities\Event','evt','with','evt.id=evtvst.event')
->join('Entities\Event','evt1','with','evt1.eventEdition=evtvst.edition')
->join('Entities\Country','ctry','with','evt.country=ctry.id')
->join('Entities\City','cty','with','evt.city=cty.id')
->where('evtvst.user=?1')
并且工作正常。