Exemplo n.º 1
0
 public static function lookup_sponsors($params, $flags)
 {
     $groups = ConferenceSponsor::join('sponsors', 'conference_sponsors.sponsor_id', '=', 'sponsors.id')->where('conference_id', '=', $params->conference);
     if (self::flags($flags, 'published')) {
         $groups->whereNotNull('conference_sponsors.published')->where('conference_sponsors.published', '<', Carbon::now());
     }
     if (self::flags($flags, 'sponsorlevels')) {
         $groups->orderBy('sponsorship');
     }
     $groups->orderBy('company');
     $groups = $groups->get();
     if (!$groups->isEmpty()) {
         $sponsors = (object) [];
         $sponsorship = '';
         foreach ($groups as $sponsor) {
             $sponsor = (object) $sponsor->toArray();
             $slug = $sponsor->slug;
             if (self::flags($flags, 'sponsorlevels')) {
                 if ($sponsorship !== $sponsor->sponsorship) {
                     $sponsorship = $sponsor->sponsorship;
                     $sponsors->{$sponsorship} = (object) [];
                 }
                 $sponsors->{$sponsorship}->{$slug} = $sponsor;
             } else {
                 $sponsors->{$slug} = $sponsor;
             }
         }
         return $sponsors;
     }
     return (object) [];
 }