Files
ntspi-app/app/Containers/Widget/UI/API/Controllers/ClientWidgetSliderController.php
T
F4ilji c01016a154 Migrate backend to Porto architecture and fix minor bugs
- Fully transitioned the backend to the Porto architectural pattern
- Improved code organization and maintainability
- Fixed minor bugs and inconsistencies
2025-05-12 08:47:43 +05:00

28 lines
752 B
PHP

<?php
namespace App\Containers\Widget\UI\API\Controllers;
use App\Containers\Widget\Models\Slider;
use App\Ship\Controllers\Controller;
use Illuminate\Support\Facades\Cache;
class ClientWidgetSliderController extends Controller
{
public function show(string $slug): ?object
{
$cacheKey = 'slider_' . $slug;
return Cache::remember($cacheKey, now()->addHour(), function () use ($slug) {
$slider = Slider::query()
->where('slug', $slug)
->where('is_active', true)
->with(['slides' => function($query) {
$query->where('is_active', true);
}])
->firstOrFail();
return $slider ?: null;
});
}
}