Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Doctrine orm 如何在Symfony中将多个where条件传递给SQL?_Doctrine Orm_Doctrine - Fatal编程技术网

Doctrine orm 如何在Symfony中将多个where条件传递给SQL?

Doctrine orm 如何在Symfony中将多个where条件传递给SQL?,doctrine-orm,doctrine,Doctrine Orm,Doctrine,我试图将多个where条件传递给给定的查询。这是我的条件 // Conditions $wheres = array( "v.id111" => "AUDI", "v.id112" => "A3", ); 键是要搜索的字段名和值 我尝试了foreach条件来获取字段名和值 $query = $this->createQueryBuilder("v") ->distinct() ->select($se

我试图将多个where条件传递给给定的查询。这是我的条件

// Conditions
    $wheres = array(
        "v.id111" => "AUDI",
        "v.id112" => "A3",
    );
键是要搜索的字段名和值

我尝试了
foreach
条件来获取字段名和值

$query = $this->createQueryBuilder("v")
    ->distinct()
    ->select($selectFields);

// Where conditions.
if (!is_null($wheres)) {
    foreach ($wheres as $fieldName => $condition) {
        $query->andWhere("$fieldName = :condition")
            ->setParameter("condition", $condition);
    }
}

$records = $query->orderBy($selectFields)
                 ->getQuery()
                 ->getResult();

dd($records);

对我来说,查询看起来是正确的,但我得到的结果是空的

不确定条令是否可以处理相同的参数名
:条件
。尝试使用不同的名称,如
:condition1
:condition2
etc@u_mulder是的,我想你是对的。我会更新我的答案。请告诉我您还可以提出哪些解决方案。
$c = 0;
foreach ($wheres as $fieldName => $condition) {
    $c +=1;
    $query->andWhere("$fieldName = :value$c")
        ->setParameter("value$c", $condition);
}