using array in WHERE IN in CakePHP
Asked Answered
J

1

9

I'm working on CakePHP 3.2

I want to use an array in the query WHERE IN ()

The code is as

$filter_p_t = $this->request->query('p_t');

$pros10 = $this->Products->find()
 ->where([
   'SellerProducts.stock >' => 0,
   'SellerProducts.status' => 1,
   'Products.p_status' => 1,
 ])
 ->contain([
   'SellerProducts',
   'ProductTypes.Subcategories.Categories',
 ]);

Here $filter_p_t is an array from url with parameter

/products/display/1?p_t[]=1&p_t[]=86

I want to include $filter_p_t in to the where condition to find all IN(1,86)

How can I use php array to the WHERE IN condition in CakePHP 3?

Jarboe answered 14/10, 2016 at 17:34 Comment(0)
O
19

You can use the IN keyword directly after the column. This is assuming that $filter_p_t is an array like array(1, 86).

->where(['id IN' => $filter_p_t]);

http://book.cakephp.org/3.0/en/orm/query-builder.html#automatically-creating-in-clauses

Outbrave answered 14/10, 2016 at 17:41 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.