在 CakePHP 的 WHERE IN 中使用数组
using array in WHERE IN in CakePHP
我正在开发 CakePHP 3.2
我想在查询中使用数组WHERE IN ()
代码如下
$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',
]);
此处 $filter_p_t
是来自 url 的数组,参数为
/products/display/1?p_t[]=1&p_t[]=86
我想将 $filter_p_t
包含在 where
条件中以查找所有 IN(1,86)
如何在 CakePHP 3 的 WHERE IN 条件中使用 php 数组?
您可以直接在列后使用 IN
关键字。这是假设 $filter_p_t
是一个像 array(1, 86)
.
这样的数组
->where(['id IN' => $filter_p_t]);
http://book.cakephp.org/3.0/en/orm/query-builder.html#automatically-creating-in-clauses
我正在开发 CakePHP 3.2
我想在查询中使用数组WHERE IN ()
代码如下
$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',
]);
此处 $filter_p_t
是来自 url 的数组,参数为
/products/display/1?p_t[]=1&p_t[]=86
我想将 $filter_p_t
包含在 where
条件中以查找所有 IN(1,86)
如何在 CakePHP 3 的 WHERE IN 条件中使用 php 数组?
您可以直接在列后使用 IN
关键字。这是假设 $filter_p_t
是一个像 array(1, 86)
.
->where(['id IN' => $filter_p_t]);
http://book.cakephp.org/3.0/en/orm/query-builder.html#automatically-creating-in-clauses