Files
SkinbaseNova/app/Services/CollectionPlacementService.php
2026-03-28 19:15:39 +01:00

25 lines
692 B
PHP

<?php
namespace App\Services;
use App\Models\CollectionSurfacePlacement;
use Carbon\Carbon;
class CollectionPlacementService
{
public function activePlacementsForSurface(string $surfaceKey)
{
$now = Carbon::now();
return CollectionSurfacePlacement::where('surface_key', $surfaceKey)
->where('is_active', true)
->where(function ($q) use ($now) {
$q->whereNull('starts_at')->orWhere('starts_at', '<=', $now);
})
->where(function ($q) use ($now) {
$q->whereNull('ends_at')->orWhere('ends_at', '>=', $now);
})
->orderByDesc('priority')
->get();
}
}