我有过滤器状态和搜索,我正在尝试使用此逻辑进行查询
如果我的输入同时包含过滤器状态和搜索
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();
答案 0 :(得分:0)
您需要指定一些组:
$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