在 cakephp 3 中过滤列表
Filtering a list in 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]]];
Note: - Use AND if both the variables are set, you want common results otherwise use OR instead of AND.
希望对您有所帮助。
如果设置了多个规则,我想在 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]]];
Note: - Use AND if both the variables are set, you want common results otherwise use OR instead of AND.
希望对您有所帮助。