Doctrine orm 如何在Symfony中将多个where条件传递给SQL?
我试图将多个where条件传递给给定的查询。这是我的条件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
// 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);
}