codeigniter活动记录使用like,or,在同一查询中匹配

时间:2014-06-27 14:57:49

标签: php mysql sql codeigniter activerecord

我被困在这个阶段一个小时。

我的目的是使用表格tag_name进行搜索,如果在tag_name中给出no_result我想要使用类似条件的产品名称表。或者我可以从上述两个条件得到结果。

感谢所有的善意:

function search_products($searchStr)
{ 
    $this->db->select('a.*, b.,c.*,c.id as id_product',FALSE); 
    $this->db->from('tags_events a ',FALSE); 
    $this->db->join('products b','a.product_id = b.id ',FALSE); 
    $this->db->join('products_details c', 'b.id = c.product_id', 'left'); 
    $this->db->where("MATCH (tag_name) AGAINST ('{$searchStr}')OR b.product_name LIKE '%$searchStr%' ", NULL, FALSE); 
    $this->db->group_by("b.product_name"); 
    $query=$this->db->get(); 
    return $query;
} 

1 个答案:

答案 0 :(得分:0)

我认为如果你使用mysql 模式匹配

,你的问题就会解决

MySQL提供标准的SQL模式匹配以及基于类似于Unix实用程序(如vi,grep和sed)使用的扩展正则表达式的模式匹配形式。

如果您需要详细解释,可以访问此链接:http://dev.mysql.com/doc/refman/5.0/en/pattern-matching.html