refactor: 修改几在模块支持多分类筛选
This commit is contained in:
@@ -39,7 +39,11 @@ class Article
|
|||||||
->language(request()->lang_id)
|
->language(request()->lang_id)
|
||||||
->where(function($query) use($param) {
|
->where(function($query) use($param) {
|
||||||
if (isset($param['category_id'])) {
|
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'], [
|
->withSearch(['title', 'release_time'], [
|
||||||
|
|||||||
@@ -39,7 +39,11 @@ class BannerItem
|
|||||||
->where('bnr.language_id', '=', request()->lang_id)
|
->where('bnr.language_id', '=', request()->lang_id)
|
||||||
->where(function($query) use($param){
|
->where(function($query) use($param){
|
||||||
if (!empty($param['banner_id'])) {
|
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'])) {
|
if (!empty($param['title'])) {
|
||||||
$query->where('item.title', 'like', "%{$param['title']}%");
|
$query->where('item.title', 'like', "%{$param['title']}%");
|
||||||
@@ -284,7 +288,11 @@ class BannerItem
|
|||||||
->where('banner.language_id', '=', request()->lang_id)
|
->where('banner.language_id', '=', request()->lang_id)
|
||||||
->where(function($query) use($param){
|
->where(function($query) use($param){
|
||||||
if (!empty($param['banner_id'])) {
|
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'])) {
|
if (!empty($param['title'])) {
|
||||||
$query->where('item.title', 'like', "%{$param['title']}%");
|
$query->where('item.title', 'like', "%{$param['title']}%");
|
||||||
|
|||||||
@@ -85,6 +85,10 @@ class ArticleModel extends ArticleBaseModel
|
|||||||
// 分类查询
|
// 分类查询
|
||||||
public function scopeCategory($query, $value)
|
public function scopeCategory($query, $value)
|
||||||
{
|
{
|
||||||
|
if (is_array($value) || str_contains($value, ',')) {
|
||||||
|
$query->whereIn('category_id', $value);
|
||||||
|
return;
|
||||||
|
}
|
||||||
$query->where('category_id', '=', $value);
|
$query->where('category_id', '=', $value);
|
||||||
}
|
}
|
||||||
public function scopeCategoryNullable($query, $value)
|
public function scopeCategoryNullable($query, $value)
|
||||||
@@ -92,6 +96,10 @@ class ArticleModel extends ArticleBaseModel
|
|||||||
if (is_null($value)) {
|
if (is_null($value)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (is_array($value) || str_contains($value, ',')) {
|
||||||
|
$query->whereIn('category_id', $value);
|
||||||
|
return;
|
||||||
|
}
|
||||||
$query->where('category_id', '=', $value);
|
$query->where('category_id', '=', $value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,6 +58,10 @@ class AttachmentModel extends AttachmentBaseModel
|
|||||||
public function scopeCategoryId($query, $value)
|
public function scopeCategoryId($query, $value)
|
||||||
{
|
{
|
||||||
if (empty($value)) return;
|
if (empty($value)) return;
|
||||||
|
if (is_array($value) || str_contains($value, ',')) {
|
||||||
|
$query->whereIn('category_id', $value);
|
||||||
|
return;
|
||||||
|
}
|
||||||
$query->where('category_id', '=', $value);
|
$query->where('category_id', '=', $value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -65,10 +65,18 @@ class ProductModel extends ProductBaseModel
|
|||||||
if (is_null($value)) {
|
if (is_null($value)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (is_array($value) || str_contains($value, ',')) {
|
||||||
|
$query->whereIn('category_id', $value);
|
||||||
|
return;
|
||||||
|
}
|
||||||
$query->where('category_id', '=', $value);
|
$query->where('category_id', '=', $value);
|
||||||
}
|
}
|
||||||
public function scopeCategory($query, $value)
|
public function scopeCategory($query, $value)
|
||||||
{
|
{
|
||||||
|
if (is_array($value) || str_contains($value, ',')) {
|
||||||
|
$query->whereIn('category_id', $value);
|
||||||
|
return;
|
||||||
|
}
|
||||||
$query->where('category_id', '=', $value);
|
$query->where('category_id', '=', $value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -71,6 +71,10 @@ class SysBannerItemModel extends SysBannerItemBaseModel
|
|||||||
public function scopeBannerId($query, $value)
|
public function scopeBannerId($query, $value)
|
||||||
{
|
{
|
||||||
if (is_null($value)) return;
|
if (is_null($value)) return;
|
||||||
|
if (is_array($value) || str_contains($value, ',')) {
|
||||||
|
$query->whereIn('banner_id', $value);
|
||||||
|
return;
|
||||||
|
}
|
||||||
$query->where('banner_id', '=', $value);
|
$query->where('banner_id', '=', $value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,6 +62,10 @@ class VideoModel extends VideoBaseModel
|
|||||||
if (empty($value)) {
|
if (empty($value)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (is_array($value) || str_contains($value, ',')) {
|
||||||
|
$query->whereIn('category_id', $value);
|
||||||
|
return;
|
||||||
|
}
|
||||||
$query->where('category_id', '=', $value);
|
$query->where('category_id', '=', $value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user