refactor: 修改几在模块支持多分类筛选
This commit is contained in:
@@ -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'], [
|
||||
|
||||
@@ -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']}%");
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user