diff --git a/app/admin/controller/v1/Article.php b/app/admin/controller/v1/Article.php index bcd1d5e2..4c4adf55 100644 --- a/app/admin/controller/v1/Article.php +++ b/app/admin/controller/v1/Article.php @@ -39,7 +39,11 @@ class Article ->language(request()->lang_id) ->where(function($query) use($param) { if (isset($param['category_id'])) { - $query->where('category_id', '=', $param['category_id']); + if (str_contains($param['category_id'], ',') || is_array($param['category_id'])) { + $query->whereIn('category_id', $param['category_id']); + } else { + $query->where('category_id', '=', $param['category_id']); + } } }) ->withSearch(['title', 'release_time'], [ diff --git a/app/admin/controller/v1/BannerItem.php b/app/admin/controller/v1/BannerItem.php index 85f2d0c2..7844309e 100644 --- a/app/admin/controller/v1/BannerItem.php +++ b/app/admin/controller/v1/BannerItem.php @@ -39,7 +39,11 @@ class BannerItem ->where('bnr.language_id', '=', request()->lang_id) ->where(function($query) use($param){ if (!empty($param['banner_id'])) { - $query->where('item.banner_id', '=', $param['banner_id']); + if (is_array($param['banner_id']) || str_contains($param['banner_id'], ',')) { + $query->whereIn('item.banner_id', $param['banner_id']); + } else { + $query->where('item.banner_id', '=', $param['banner_id']); + } } if (!empty($param['title'])) { $query->where('item.title', 'like', "%{$param['title']}%"); @@ -284,7 +288,11 @@ class BannerItem ->where('banner.language_id', '=', request()->lang_id) ->where(function($query) use($param){ if (!empty($param['banner_id'])) { - $query->where('item.banner_id', '=', $param['banner_id']); + if (is_array($param['banner_id']) || str_contains($param['banner_id'], ',')) { + $query->whereIn('item.banner_id', $param['banner_id']); + } else { + $query->where('item.banner_id', '=', $param['banner_id']); + } } if (!empty($param['title'])) { $query->where('item.title', 'like', "%{$param['title']}%"); diff --git a/app/admin/model/v1/ArticleModel.php b/app/admin/model/v1/ArticleModel.php index 9d20a662..763f1a74 100644 --- a/app/admin/model/v1/ArticleModel.php +++ b/app/admin/model/v1/ArticleModel.php @@ -85,6 +85,10 @@ class ArticleModel extends ArticleBaseModel // 分类查询 public function scopeCategory($query, $value) { + if (is_array($value) || str_contains($value, ',')) { + $query->whereIn('category_id', $value); + return; + } $query->where('category_id', '=', $value); } public function scopeCategoryNullable($query, $value) @@ -92,6 +96,10 @@ class ArticleModel extends ArticleBaseModel if (is_null($value)) { return; } + if (is_array($value) || str_contains($value, ',')) { + $query->whereIn('category_id', $value); + return; + } $query->where('category_id', '=', $value); } } diff --git a/app/admin/model/v1/AttachmentModel.php b/app/admin/model/v1/AttachmentModel.php index 21a6006d..f2dc1c6a 100644 --- a/app/admin/model/v1/AttachmentModel.php +++ b/app/admin/model/v1/AttachmentModel.php @@ -58,6 +58,10 @@ class AttachmentModel extends AttachmentBaseModel public function scopeCategoryId($query, $value) { if (empty($value)) return; + if (is_array($value) || str_contains($value, ',')) { + $query->whereIn('category_id', $value); + return; + } $query->where('category_id', '=', $value); } } diff --git a/app/admin/model/v1/ProductModel.php b/app/admin/model/v1/ProductModel.php index e73fe5e5..8f970687 100644 --- a/app/admin/model/v1/ProductModel.php +++ b/app/admin/model/v1/ProductModel.php @@ -65,10 +65,18 @@ class ProductModel extends ProductBaseModel if (is_null($value)) { return; } + if (is_array($value) || str_contains($value, ',')) { + $query->whereIn('category_id', $value); + return; + } $query->where('category_id', '=', $value); } public function scopeCategory($query, $value) { + if (is_array($value) || str_contains($value, ',')) { + $query->whereIn('category_id', $value); + return; + } $query->where('category_id', '=', $value); } diff --git a/app/admin/model/v1/SysBannerItemModel.php b/app/admin/model/v1/SysBannerItemModel.php index abcd7f61..884efe77 100644 --- a/app/admin/model/v1/SysBannerItemModel.php +++ b/app/admin/model/v1/SysBannerItemModel.php @@ -71,6 +71,10 @@ class SysBannerItemModel extends SysBannerItemBaseModel public function scopeBannerId($query, $value) { if (is_null($value)) return; + if (is_array($value) || str_contains($value, ',')) { + $query->whereIn('banner_id', $value); + return; + } $query->where('banner_id', '=', $value); } } diff --git a/app/admin/model/v1/VideoModel.php b/app/admin/model/v1/VideoModel.php index 9f029c9c..08d1bfc3 100644 --- a/app/admin/model/v1/VideoModel.php +++ b/app/admin/model/v1/VideoModel.php @@ -62,6 +62,10 @@ class VideoModel extends VideoBaseModel if (empty($value)) { return; } + if (is_array($value) || str_contains($value, ',')) { + $query->whereIn('category_id', $value); + return; + } $query->where('category_id', '=', $value); } }