我有4个mysql表如下..
产品(id、sku、名称、color_id、描述、摘录)
颜色(color_name,color_id)
类别(categ_name,categ_id)
Product_Categories (pid,cid)
现在我要执行搜索操作。目前我的搜索查询基于产品 id、sku、description 或 color_id。
我的查询在codeigniter中如下......
$color_id = 0;
$this->db->select('color_id');
$this->db->where('LOWER(color_name)',strtolower($term));
$color_row = $this->db->get('product_colors')->row();
if($color_row)
$color_id = $color_row->color_id;
$this->db->select('*, LEAST(IFNULL(NULLIF(saleprice, 0), price), price) as sort_price', false);
//this one gets just the ones we need.
$this->db->where('enabled', 1);
$this->db->where('(name LIKE "%'.$term.'%" OR description LIKE "%'.$term.'%" OR excerpt LIKE "%'.$term.'%" OR sku LIKE "%'.$term.'%" OR color='.$color_id.')');
这工作得很好。但我也想按类别搜索。例如,我想搜索“红色鞋子”,其中红色是颜色,鞋子是类别名称。
请告诉我如何为此构建查询。
这将是一个很大的帮助。
谢谢!!!