diff --git a/app/Http/Controllers/Apis/Protected/Summit/Strategies/events/RetrieveSummitEventsStrategy.php b/app/Http/Controllers/Apis/Protected/Summit/Strategies/events/RetrieveSummitEventsStrategy.php index 386d222c..ca9b5bc4 100644 --- a/app/Http/Controllers/Apis/Protected/Summit/Strategies/events/RetrieveSummitEventsStrategy.php +++ b/app/Http/Controllers/Apis/Protected/Summit/Strategies/events/RetrieveSummitEventsStrategy.php @@ -136,6 +136,8 @@ abstract class RetrieveSummitEventsStrategy 'event_type_id' => ['=='], 'track_id' => ['=='], 'speaker_id' => ['=='], + 'sponsor_id' => ['=='], + 'sponsor' => ['=@', '=='], 'location_id' => ['=='], 'speaker' => ['=@', '=='], 'speaker_email' => ['=@', '=='], diff --git a/app/Repositories/Summit/DoctrineSummitEventRepository.php b/app/Repositories/Summit/DoctrineSummitEventRepository.php index 1b83fdd7..8d1afa3a 100644 --- a/app/Repositories/Summit/DoctrineSummitEventRepository.php +++ b/app/Repositories/Summit/DoctrineSummitEventRepository.php @@ -96,7 +96,7 @@ final class DoctrineSummitEventRepository 't', "t.tag :operator :value" ), - 'summit_id'=> new DoctrineJoinFilterMapping + 'summit_id' => new DoctrineJoinFilterMapping ( 'e.summit', 's', @@ -144,6 +144,14 @@ final class DoctrineSummitEventRepository ( "(sp.id :operator :value OR spm.id :operator :value)" ), + 'sponsor_id' => new DoctrineFilterMapping + ( + "(sprs.id :operator :value)" + ), + 'sponsor' => new DoctrineFilterMapping + ( + "(sprs.name :operator :value)" + ), 'selection_status' => new DoctrineSwitchFilterMapping([ 'selected' => new DoctrineCaseFilterMapping( 'selected', @@ -202,6 +210,7 @@ final class DoctrineSummitEventRepository ->leftJoin(Presentation::class, 'p', 'WITH', 'e.id = p.id') ->leftJoin("e.location", 'l', Join::LEFT_JOIN) ->leftJoin("e.category", 'cc', Join::LEFT_JOIN) + ->leftJoin("e.sponsors", "sprs", Join::LEFT_JOIN) ->leftJoin("p.speakers", "sp", Join::LEFT_JOIN) ->leftJoin('p.selected_presentations', "ssp", Join::LEFT_JOIN) ->leftJoin('p.selection_plan', "selp", Join::LEFT_JOIN)