我有一个过滤器状态和搜索,我正在尝试使用此逻辑进行查询
如果我有一个同时包含过滤器状态和搜索的输入
select * from table_name where status = 'Active' AND name like %search% or address like %search%
我想使用状态搜索过滤的记录,反之亦然,我想状态过滤搜索的记录
我正在尝试使用此查询,但它似乎不是正确的查询
$this->db->select('*')->from('tbl_users');
$this->db->like('name', $string, "both");
$this->db->or_like('address', $string, "both");
$this->db->where('status', $status);
$this->db->get();
最佳答案
您需要指定一些组:
$this->db->select('*')->from('tbl_users')
->group_start()
->where('status', $status)
->or_group_start()
->like('name', $string, 'both')
->like('address', $string, 'both')
->group_end()
->group_end()
->get();
参见https://codeigniter.com/user_guide/database/query_builder.html#query-grouping
关于php - CodeIgniter 的喜欢和地点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34723522/