优化商品搜索

This commit is contained in:
wangxiaowei 2024-12-18 09:50:06 +08:00
parent f80c8d02e8
commit 5a2039b938

@ -518,6 +518,36 @@ class GoodsLogic extends Logic
// dump($wh); // dump($wh);
// dump($where); // dump($where);
// dump($order);die; // dump($order);die;
$cate = [];
if (isset($get['keyword'])) {
$cate = GoodsCategory::where(['is_show' => 1, 'del' => 0])
->where([['name', 'like', '%' . trim($get['keyword']) . '%']])
->field('id, level')
->select()
->toArray();
}
if (!empty($cate)) {
$where = array_filter($where, function($item) {
return $item[0] !== "name";
});
$where = array_values($where);
$con = array(
1 => 'first_cate_id',
2 => 'second_cate_id',
3 => 'second_cate_id',
);
foreach ($cate as &$v) {
$list = Goods::with(['shop'])
->field($field)
->where($where)
->where([
[$con[$v['level']], 'like', '%' . $v['id'] . '%'],
])
->order($order)
->select();
}
} else {
$list = Goods::with(['shop']) $list = Goods::with(['shop'])
->field($field) ->field($field)
->where($wh) ->where($wh)
@ -525,6 +555,7 @@ class GoodsLogic extends Logic
->order($order) ->order($order)
->page($get['page_no'], $get['page_size']) ->page($get['page_no'], $get['page_size'])
->select(); ->select();
}
// foreach ($list as &$v) { // foreach ($list as &$v) {
// $v['market_price'] = round($v['min_price'],2); // $v['market_price'] = round($v['min_price'],2);
// $v['min_price'] = round(0.88*$v['min_price'],2); // $v['min_price'] = round(0.88*$v['min_price'],2);