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.

30 lines
704 B

2 weeks ago
<?php
namespace App\Http\Controllers\Miniapp;
use App\Http\Controllers\Controller;
use App\Models\Banner;
use App\Support\ApiResponse;
use App\Support\Miniapp\MiniappPresenter;
use Illuminate\Http\JsonResponse;
class BannerController extends Controller
{
use ApiResponse;
public function index(): JsonResponse
{
$items = Banner::query()
->with(['course', 'activity'])
->where('status', 1)
->orderBy('sort')
->orderByDesc('id')
->get()
->map(fn (Banner $banner) => MiniappPresenter::serializeBanner($banner))
->values()
->all();
return $this->ok(['items' => $items]);
}
}