如何使用2个数组的where子句并获得每个数组项的响应?

问题描述 投票:0回答:1

我正在尝试像下面这样用“ Where,where_in子句”获得响应,但是它只是将1个数组的值检查到另一个。我想在这里创建过滤器

Table name = asp_product_list
server_cat_id = 1 (Server table/Column) (VARCHAR / TEXT)
filter_cat_id = [1, 3, 2] (Filter selected values)

我的代码:

if (isset($_POST['filter_cat_id']) && $_POST['filter_cat_id'] != "") {
     $catsFLT = explode(", ", $_POST['filter_cat_id']);
     $this->db->where_in('server_cat_id', $catsFLT);
}

上面的代码与server_cat_id中可用的单个值完美配合,如上所示情况。

但是我不知道如何使用where子句检查2个数组并获得如下情况的响应

Table name = asp_product_list
server_cat_id = 1,2,3,6 (Server table/Column) (VARCHAR / TEXT)
& filter_cat_id = [1, 3, 2] (Filter selected values)

然后它给了我空白数组。

有帮助吗?

php mysql arrays codeigniter where-clause
1个回答
0
投票

使用or_where_in作为您的filter_cat_id

https://codeigniter.com/user_guide/database/query_builder.html?highlight=or_where_in#CI_DB_query_builder::or_where_in

因此,ypu必须添加

$this->db->or_where_in('filter_cat_id ', $catsFLT);
© www.soinside.com 2019 - 2024. All rights reserved.