请帮帮我:
SELECT *
FROM `product`
WHERE `vi_name` LIKE '%product%'
OR `en_name` LIKE '%product%'
AND `parent_id` != 0
我编写了自己的代码,但有些代码仍然是如何计算行的父代_id = 0
function get_product_by_search_slug($slug) {
$this -> db -> from('product');
$this -> db -> like('vi_name', $slug);
$this -> db -> or_like('en_name', $slug);
$this -> db -> where_not_in('parent_id', 0);
$query = $this -> db -> get();
return $query -> result();
}
我得到了一个解决方案,它工作正常但不知何故我不满意它:
function get_product_by_search_slug($slug) {
$this -> db -> select("* FROM `product` WHERE `vi_name` LIKE '%". $slug ."%' OR `en_name` LIKE '%". $slug ."%' AND `parent_id` != 0");
$query = $this -> db -> get();
return $query -> result();
}
答案 0 :(得分:0)
你可以试试这个
where('parent_id !=','0')
如果您遇到任何问题,请告诉我
答案 1 :(得分:0)
试试这个
$this->db->like('vi_name', $slug)
->or_like('en_name', $slug)
->where('parent_id <>', 0);
答案 2 :(得分:0)
$slugQ = $this->db->escape_like_str($slug);
$this->db
->select('*')
->from('product')
->where("(vi_name like '%$slugQ%' OR en_name like '%$slugQ%')", NULL, FALSE)
->where('parent_id !=', 0)
->get()
->result();
在我的例子中,我已经为了正确的mysql查找而逃脱了slug,你必须自己做一些额外的检查。