帖子收藏

This commit is contained in:
2025-12-10 15:29:48 +08:00
parent ba452f7a3b
commit 37a1eb6a6c
2 changed files with 20 additions and 8 deletions
@@ -32,10 +32,18 @@ class PostFavoriteController extends BaseController
try { try {
// $raw = $this->service->serviceSelfList($request); // $raw = $this->service->serviceSelfList($request);
$raw = $this->service->serviceList($request); $raw = $this->service->serviceList($request);
$data = $this->transformData($raw, method_exists($this, 'indexFormat') // $data = $this->transformData($raw, method_exists($this, 'indexFormat')
? [$this, 'indexFormat'] // ? [$this, 'indexFormat']
: null); // : null);
return $this->success($data);
$data = [];
foreach ($raw['records'] as $key => $item) {
$item['created_at'] = strtotime($item['created_at']);
$item['updated_at'] = strtotime($item['updated_at']);
$data[$key] = $this->indexFormat($item);
}
$raw['records'] = $data;
return $this->success($raw);
} catch (\Throwable $e) { } catch (\Throwable $e) {
return $this->error($e->getMessage()); return $this->error($e->getMessage());
} }
+8 -4
View File
@@ -79,10 +79,9 @@ class PostFavoriteService
{ {
$param = $request->all(); $param = $request->all();
$size = $param['size'] ?? 10; $size = $param['size'] ?? 10;
$current = $param['current'] ?? 1;
$orderField = $param['sort_by'] ?? 'post_favorites.created_at'; // 默认按收藏时间 $orderField = $param['sort_by'] ?? 'post_favorites.created_at'; // 默认按收藏时间
$orderType = in_array($param['order'],['desc','asc']) ? $param['order'] :'desc'; // 默认倒序 $orderType = in_array($param['order'],['desc','asc']) ? $param['order'] :'desc'; // 默认倒序
var_dump($orderType);
var_dump($request->user->uid);
// 构建基础查询 // 构建基础查询
$query = PostFavorite::select('post_favorite.*') // 明确选择主表字段 $query = PostFavorite::select('post_favorite.*') // 明确选择主表字段
@@ -113,7 +112,7 @@ class PostFavoriteService
// 执行分页查询 // 执行分页查询
$paginator = $query->paginate($size); $paginator = $query->paginate($size, ['*'], 'page', $current);
// 由于使用了join,需要重新手动加载关联的post数据 // 由于使用了join,需要重新手动加载关联的post数据
$paginator->getCollection()->transform(function ($item) { $paginator->getCollection()->transform(function ($item) {
@@ -121,7 +120,12 @@ class PostFavoriteService
return $item; return $item;
}); });
return $paginator->items(); $res = ['records' => $paginator->items(),
'current' => $current ?? 1,
'size' => $size,
'total' => $query->count(),
];
return $res;
} }
/** /**