如果设置了多个规则,我想在 Cakephp 3 中过滤我的项目结果。例如,过滤结果之前是所有项目列表。如果设置了类别,则结果是该类别中的所有项目。如果价格设置为该类别中的所有商品,则使用该价格
$item = $this->Items->find('all',['conditions' =>
IF ($category) RETURN Items.in.Category ELSE RETURN ALL,
IF ($price) RETURN Items.in.Price ELSE RETURN ALL,
]);
知道吗?
你可以做这样的事情,
$condition=[]; //Declaration of array for conditions
if(isset($category})
$condition[] = ['category ' => $category];
if($price)
$condition[] = ['price ' => $price];
现在使用它,在你的发现(条件(
$this->Items->find('all',['conditions' => ['AND'=>[$condition]]];
注意: - 如果两个变量都设置了,则使用 AND,您希望使用通用结果,否则使用 OR 而不是 AND。
希望这对你有帮助。