You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
881 B

<?php
namespace App\Http\Controllers\Miniapp;
use App\Http\Controllers\Controller;
use App\Models\PastReview;
use App\Support\ApiResponse;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class PastReviewController extends Controller
{
use ApiResponse;
public function index(Request $request): JsonResponse
{
$pageSize = min(50, max(1, (int) $request->query('page_size', 10)));
$items = PastReview::query()
->where('status', 1)
->orderBy('sort')
->orderByDesc('id')
->limit($pageSize)
->get()
->map(fn (PastReview $row) => [
'id' => $row->id,
'title' => $row->title,
'cover_url' => $row->cover_url,
])
->values()
->all();
return $this->ok(['items' => $items]);
}
}