EntityRepository Symfony2中的多个条件

Nowiko

我想在查询构建器中添加orWhere条件。参数将来自数组。但是我不知道如何添加等于计数数组元素的orWhere语句的计数。这是一些代码:

 public function selectRelatedTrips($assoc)
{
    $params = array('k' => 'Kiev');
    $query = $this
        ->getEntityManager()
        ->createQueryBuilder()
        ->select('t')
        ->from('VputiTripBundle:Trip', 't')
        ->where('t.startCity = :k');

    foreach ($assoc as $k => $v) {
         //            $query->orWhere('t.startCity = ' . $v);
        $query->where('t.startCity = :param' . $k);
        $params['param' . $k] = $v;
    }

    return $query->setParameters($params)
        ->setMaxResults(20)
        ->orderBy('t.id', 'desc')
        ->getQuery()
        ->getResult();
}

有人可以帮我吗?

克里斯蒂安·布霍里亚努(Cristian Bujoreanu)

尝试根据数组动态创建查询:

$params = array('param1' => 123);

$query = $this
     ->createQueryBuilder('e')
     ->select('e')
     ->where('e.field = :param1')

foreach ($assoc as $k => $v) {
    $query->orWhere('e.field2 = :param'.$k);
    $params['param'.$k] = $v;
}

$query->setParameters($params);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章