fix: 产品推荐列表及导出问题
All checks were successful
Gitea Actions Official-website / deploy-dev (push) Successful in 3s
All checks were successful
Gitea Actions Official-website / deploy-dev (push) Successful in 3s
This commit is contained in:
@@ -20,15 +20,17 @@ class ProductCategoryRecommend
|
|||||||
$image_host = $server['REQUEST_SCHEME'] . "://" . $server['SERVER_NAME'] . '/';
|
$image_host = $server['REQUEST_SCHEME'] . "://" . $server['SERVER_NAME'] . '/';
|
||||||
$param = request()->get([
|
$param = request()->get([
|
||||||
'keywords',
|
'keywords',
|
||||||
|
'category_name',
|
||||||
'page/d' => 1,
|
'page/d' => 1,
|
||||||
'size/d' => 10
|
'size/d' => 10
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// 查询数据
|
// 查询数据
|
||||||
$data = ProductCategoryRecommendModel::with(['category' => function($query) {
|
$data = ProductCategoryRecommendModel::withJoin(['category' => function($query) use ($param) {
|
||||||
$query->field(['id', 'name']);
|
if (!empty($param['category_name'])) {
|
||||||
|
$query->where('category.name', 'like', '%' . $param['category_name'] . '%');
|
||||||
|
}
|
||||||
}])
|
}])
|
||||||
->withoutField(['language_id', 'updated_at', 'deleted_at'])
|
|
||||||
->withSearch(['keywords'], ['keywords' => $param['keywords']??null])
|
->withSearch(['keywords'], ['keywords' => $param['keywords']??null])
|
||||||
->language(request()->lang_id)
|
->language(request()->lang_id)
|
||||||
->order(['sort' => 'asc', 'id' => 'desc'])
|
->order(['sort' => 'asc', 'id' => 'desc'])
|
||||||
@@ -37,7 +39,7 @@ class ProductCategoryRecommend
|
|||||||
'page' => $param['page'],
|
'page' => $param['page'],
|
||||||
])
|
])
|
||||||
->bindAttr('category', ['category_name' => 'name'])
|
->bindAttr('category', ['category_name' => 'name'])
|
||||||
->hidden(['category'])
|
->hidden(['category', 'language_id', 'updated_at', 'deleted_at'])
|
||||||
?->each(function($item) use($image_host) {
|
?->each(function($item) use($image_host) {
|
||||||
// 拼接完整图片URL
|
// 拼接完整图片URL
|
||||||
if (!empty($item['image'])) {
|
if (!empty($item['image'])) {
|
||||||
@@ -78,15 +80,18 @@ class ProductCategoryRecommend
|
|||||||
$param = request()->get(['keywords']);
|
$param = request()->get(['keywords']);
|
||||||
|
|
||||||
// 查询数据
|
// 查询数据
|
||||||
return ProductCategoryRecommendModel::with(['category' => function($query) {
|
return ProductCategoryRecommendModel::withJoin(['category' => function($query) use ($param) {
|
||||||
$query->field(['id', 'name']);
|
if (!empty($param['category_name'])) {
|
||||||
|
$query->where('category.name', 'like', '%' . $param['category_name'] . '%');
|
||||||
|
}
|
||||||
}])
|
}])
|
||||||
->withoutField(['language_id', 'updated_at', 'deleted_at'])
|
|
||||||
->withSearch(['keywords'], ['keywords' => $param['keywords']??null])
|
->withSearch(['keywords'], ['keywords' => $param['keywords']??null])
|
||||||
->language(request()->lang_id)
|
->language(request()->lang_id)
|
||||||
->order(['sort' => 'asc', 'id' => 'desc'])
|
->order(['sort' => 'asc', 'id' => 'desc'])
|
||||||
->select()
|
->select()
|
||||||
->each(function($item) use($image_host) {
|
->bindAttr('category', ['category_name' => 'name'])
|
||||||
|
->hidden(['category', 'language_id', 'updated_at', 'deleted_at'])
|
||||||
|
?->each(function($item) use($image_host) {
|
||||||
// 拼接完整图片URL
|
// 拼接完整图片URL
|
||||||
if (!empty($item['image'])) {
|
if (!empty($item['image'])) {
|
||||||
$item['image'] = url_join($image_host, $item['image']);
|
$item['image'] = url_join($image_host, $item['image']);
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ class ProductCategoryRecommendModel extends ProductCategoryRecommendBaseModel
|
|||||||
// 所属语言范围查询
|
// 所属语言范围查询
|
||||||
public function scopeLanguage($query, $language)
|
public function scopeLanguage($query, $language)
|
||||||
{
|
{
|
||||||
$query->where('language_id', '=', $language);
|
$query->where($this->getTable() . '.language_id', '=', $language);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 关键词搜索
|
// 关键词搜索
|
||||||
@@ -41,7 +41,7 @@ class ProductCategoryRecommendModel extends ProductCategoryRecommendBaseModel
|
|||||||
if (is_null($keywords)) {
|
if (is_null($keywords)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
$query->where('title', 'like', "%{$keywords}%")
|
$query->where($this->getTable() . '.title', 'like', "%{$keywords}%")
|
||||||
->whereOr('desc', 'like', "%{$keywords}%");
|
->whereOr($this->getTable() . '.desc', 'like', "%{$keywords}%");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user