cakephp pagination with AND OR condition inside loop -


i working cakephp pagination using 2 group of check box filter materialtype , occasion wrote following code

public function index($category) {  if(!empty($this->params['url']['data']['filter']['materialtype'])) { foreach ($this->params['url']['data']['filter']['materialtype'] $v){ $conditions1[] ="(product.materialtype '%$v%')"; } $conditions[] = implode(' or ', $conditions1); }  if(!empty($this->params['url']['data']['filter']['occasion'])) { foreach ($this->params['url']['data']['filter']['occasion'] $v){ $conditions2[] ="`product`.`occasion` '%$v%'"; } $conditions[] = implode(' or ', $conditions2); }  } 

my following code generating sql query

select `product`.`id`, `product`.`category`, `product`.`name`, mydb`.`products` `product` `product`.`category` = 'necklace' , (`product`.`materialtype` '%yellow gold%') or (`product`.`materialtype` '%white gold%') , (`product`.`occasion` '%traditional%') or (`product`.`occasion` '%modern%') 

but looking output.

select `product`.`id`, `product`.`category`, `product`.`name`, mydb`.`products` `product` `product`.`category` = 'necklace' , ((`product`.`materialtype` '%yellow gold%') or (`product`.`materialtype` '%white gold%')) , ((`product`.`occasion` '%traditional%') or (`product`.`occasion` '%modern%')) 

you need remove inner bracket inner statement inside foreach. , add @ outside below.

if(!empty($this->params['url']['data']['filter']['materialtype'])) {        foreach ($this->params['url']['data']['filter']['materialtype'] $v){             $conditions1[] = "product.materialtype '%$v%'";        }        $str_cond = implode(' or ', $conditions1);        $conditions[] = '(' . $str_cond . ')'; }  if(!empty($this->params['url']['data']['filter']['occasion'])) {     foreach ($this->params['url']['data']['filter']['occasion'] $v){         $conditions2[] = "product.occasion '%$v%'";     }     $str_cond = implode(' or ', $conditions2);     $conditions[] = '(' . $str_cond . ')'; } 

Comments

Popular posts from this blog

python - Selenium remoteWebDriver (& SauceLabs) Firefox moseMoveTo action exception -

html - How to custom Bootstrap grid height? -

transpose - Maple isnt executing function but prints function term -