在 CakePHP 的 WHERE IN 中使用数组
Posted
技术标签:
【中文标题】在 CakePHP 的 WHERE IN 中使用数组【英文标题】:using array in WHERE IN in CakePHP 【发布时间】:2017-02-24 05:27:58 【问题描述】:我正在开发 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 中将 php 数组用于 WHERE IN 条件?
【问题讨论】:
【参考方案1】:您可以在列之后直接使用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 的 WHERE IN 中使用数组的主要内容,如果未能解决你的问题,请参考以下文章