商品搜索添加商品分类搜索
This commit is contained in:
parent
ac0163dec2
commit
76dbf143aa
@ -428,20 +428,6 @@ class GoodsLogic extends Logic
|
||||
}
|
||||
}
|
||||
|
||||
$whereIn = '';
|
||||
if (isset($get['cate']) && $get['cate'] && isset($get['keyword'])) {
|
||||
$cate = GoodsCategory::where(['is_show' => 1, 'del' => 0])
|
||||
->where([['name', 'like', '%' . trim($get['keyword']) . '%']])
|
||||
->field('id')
|
||||
->select()
|
||||
->toArray();
|
||||
|
||||
$whereIn = array_map(function ($innerArray) {
|
||||
return implode(',', $innerArray);
|
||||
}, $cate);
|
||||
$get['keyword'] = '';
|
||||
}
|
||||
|
||||
// 品牌
|
||||
if(isset($get['brand_id']) && !empty($get['brand_id']) && filter_var($get['brand_id'], FILTER_VALIDATE_INT)) {
|
||||
$where[] = ['brand_id', '=', $get['brand_id']];
|
||||
@ -532,14 +518,41 @@ class GoodsLogic extends Logic
|
||||
// dump($wh);
|
||||
// dump($where);
|
||||
// dump($order);die;
|
||||
$list = Goods::with(['shop'])
|
||||
->field($field)
|
||||
->where($wh)
|
||||
->where($where)
|
||||
->whereIn('first_cate_id|second_cate_id|third_cate_id', $whereIn)
|
||||
->order($order)
|
||||
->page($get['page_no'], $get['page_size'])
|
||||
->select();
|
||||
$whereIn = '';
|
||||
if (isset($get['keyword'])) {
|
||||
$cate = GoodsCategory::where(['is_show' => 1, 'del' => 0])
|
||||
->where([['name', 'like', '%' . trim($get['keyword']) . '%']])
|
||||
->field('id')
|
||||
->select()
|
||||
->toArray();
|
||||
}
|
||||
|
||||
if ($cate) {
|
||||
$where = array_filter($where, function($item) {
|
||||
return $item[0] !== "name";
|
||||
});
|
||||
$where = array_values($where);
|
||||
foreach ($cate as &$v) {
|
||||
$list = Goods::with(['shop'])
|
||||
->field($field)
|
||||
->where($where)
|
||||
->where([['first_cate_id|second_cate_id|third_cate_id', 'like', '%' . $v['id'] . '%']])
|
||||
->order($order)
|
||||
->page($get['page_no'], $get['page_size'])
|
||||
->select();
|
||||
}
|
||||
} else {
|
||||
$list = Goods::with(['shop'])
|
||||
->field($field)
|
||||
->where($wh)
|
||||
->where($where)
|
||||
->order($order)
|
||||
->page($get['page_no'], $get['page_size'])
|
||||
->select();
|
||||
}
|
||||
|
||||
|
||||
|
||||
// foreach ($list as &$v) {
|
||||
// $v['market_price'] = round($v['min_price'],2);
|
||||
// $v['min_price'] = round(0.88*$v['min_price'],2);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user