我需要创建这个选择:
SELECT * FROM units
WHERE ((um like '%str%' AND desc like '%str%') AND deleted = 0)
所以我尝试使用
$search = 'str';
$this->db->from('units');
$this->db->where("(um LIKE '%".$this->db->escape_like_str($search)."%' or
desc LIKE '%".$this->db->escape_like_str($search)."%') and deleted=0");
return $this->db->get();
但这不起作用,即使在我的其他表,控制器,模块上工作正常。 编辑:我看到为什么它不起作用,因为desc ...但我的问题仍然在下面......
我尝试使用它并正常工作
$this->db->from('units');
$this->db->where('deleted',0);
$this->db->like('desc', $search);
$this->db->or_like('um', $search);
但这表示为:
WHERE deleted = 0 AND desc like '%str%' AND um like '%str%'
我可以将or_like和like结合起来吗?并删除另一个,因为现在它显示所有被删除的,因为or_like。
答案 0 :(得分:0)
这个
SELECT * FROM units WHERE((嗯像'%str%'和desc喜欢'%str%') AND deleted = 0)
你必须这样做:
$this->db->select('*');
$this->db->from('units');
$this->db->where("((units.um LIKE '%str%' AND units.desc LIKE '%str%') AND deleted = '0')",NULL);
$query = $this->db->get();
return $query->result();