我正在尝试创建一个匹配特定条件或匹配确切 ID 的查询
这是我想要的查询:
SELECT * WHERE (`Listing.Color` = 'red' AND `Listing.Doors` = 2) OR Listing.ID = 75
这是我在调试时得到的查询:
SELECT * WHERE `Listing.Color` = 'red' AND `Listing.Doors` = 2 AND Listing.ID = 75
这是我的代码:
$conditions = array();
$conditions[] = array('Listing.Color' => 'red');
$conditions[] = array('Listing.Doors' => 4);
$conditions[] = array(
"OR" => array(
array('Listing.ID' => 75)
),
);
return $conditions;
$this->paginate = array(
'conditions' => $conditions,
);
$this->set('listings', $this->paginate());
我也尝试过这些组合(以及其他一些组合)
$conditions["OR"][] = array('Listing.ID' => 75);
$conditions[]["OR"] = array('Listing.ID' => 75);
$conditions[]["OR"][] = array('Listing.ID' => 75);
$conditions["OR"][] = array('Listing.ID' => 75);
最佳答案
$conditions = array(
'OR' => array(
array('Listing.Color' => 'red', 'Listing.Doors' => 4),
array('Listing.ID' => 75)
)
);
$this->paginate = array(
'conditions' => $conditions,
);
另外,为什么在创建 $conditions 数组后就需要 return $conditions;
?
关于php - 如何在 CakePHP 中获取 "OR"条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20007215/