|
|
@@ -42,7 +42,9 @@ class GoodsCategoryClass extends BaseClass
|
|
|
if (!empty($askInfo['searchText'])) {
|
|
|
$query->andWhere(['like', 'xhGoodsCategory.name', $askInfo['searchText']]);
|
|
|
}
|
|
|
-
|
|
|
+ if (!empty($askInfo['search'])) {
|
|
|
+ $query->andWhere(['like', 'xhGoodsCategory.name', $askInfo['search']]);
|
|
|
+ }
|
|
|
$query->joinWith(['goods' => function ($query) use ($askInfo, $requestType) {
|
|
|
|
|
|
if ($requestType == 'kd') {
|
|
|
@@ -96,12 +98,14 @@ class GoodsCategoryClass extends BaseClass
|
|
|
$goodsCategoryInfoList = $query->offset(($page - 1) * $pageSize)
|
|
|
->limit($pageSize)
|
|
|
->all();
|
|
|
-
|
|
|
- // 整理结果,只要有库存的商品
|
|
|
+ // 整理结果,只要有库存的商品,并去重
|
|
|
$list = [];
|
|
|
+ $addedGoodsIds = []; // 用于记录已添加的商品ID,避免重复,一个商品在多个分类下就会出现重复,搜索的情况下
|
|
|
foreach ($goodsCategoryInfoList as $info) {
|
|
|
- if ($info->goods) { // 只要有关联且有库存的商品
|
|
|
+ if ($info->goods && !in_array($info->goods->id, $addedGoodsIds)) {
|
|
|
+ // 只要有关联且有库存的商品,且未添加过
|
|
|
$list[] = $info->goods->attributes;
|
|
|
+ $addedGoodsIds[] = $info->goods->id; // 记录已添加的商品ID
|
|
|
}
|
|
|
}
|
|
|
|