diff --git a/app/Containers/Education/Tasks/GetEducationalProgramBySlugTask.php b/app/Containers/Education/Tasks/GetEducationalProgramBySlugTask.php index 945222a..26cce1f 100644 --- a/app/Containers/Education/Tasks/GetEducationalProgramBySlugTask.php +++ b/app/Containers/Education/Tasks/GetEducationalProgramBySlugTask.php @@ -4,7 +4,10 @@ namespace App\Containers\Education\Tasks; use App\Containers\Education\Models\EducationalProgram; use App\Ship\Enums\CacheKeys; +use App\Ship\Enums\Education\AdmissionCampaignStatus; +use App\Ship\Enums\Education\EducationalProgramStatus; use Illuminate\Support\Facades\Cache; +use Illuminate\Database\Eloquent\Builder; class GetEducationalProgramBySlugTask { @@ -15,8 +18,18 @@ class GetEducationalProgramBySlugTask return Cache::remember($cacheKeyProgram, now()->addHours(1), function () use ($slug) { return EducationalProgram::query() ->where('slug', $slug) - ->with(['admission_plans', 'directionStudy', 'seo']) + ->where('status', EducationalProgramStatus::PUBLISHED) + ->with([ + 'admission_plans' => function ($query) { + $query->whereHas('admissionCampaign', function (Builder $q) { + $q->where('status', AdmissionCampaignStatus::ACTIVE); + }); + }, + 'admission_plans.admissionCampaign', + 'directionStudy', + 'seo' + ]) ->firstOrFail(); }); } -} +} \ No newline at end of file