在 cakephp 3 中过滤列表



如果设置了多个规则,我想在 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。

希望这对你有帮助。

最新更新