/**
  * Run the migrations.
  *
  * @return void
  */
 public function up()
 {
     Schema::create('conference_sponsors', function (Blueprint $table) {
         $table->increments('id');
         $table->integer('conference_id');
         $table->integer('sponsor_id');
         $table->string('sponsorship');
         $table->timestamps();
         $table->timestamp('published')->nullable();
         $table->softDeletes();
     });
     ConferenceSponsor::create(['conference_id' => 1, 'sponsor_id' => 1, 'sponsorship' => 'Gold', 'published' => Carbon::create(2015, 00, 15, 07, 30, 00)]);
     ConferenceSponsor::create(['conference_id' => 1, 'sponsor_id' => 2, 'sponsorship' => 'Ruby', 'published' => Carbon::create(2015, 00, 15, 07, 30, 00)]);
     ConferenceSponsor::create(['conference_id' => 1, 'sponsor_id' => 3, 'sponsorship' => 'Diamond', 'published' => Carbon::create(2015, 00, 15, 07, 30, 00)]);
     ConferenceSponsor::create(['conference_id' => 1, 'sponsor_id' => 4, 'sponsorship' => 'Gold', 'published' => Carbon::create(2015, 00, 15, 07, 30, 00)]);
     ConferenceSponsor::create(['conference_id' => 1, 'sponsor_id' => 5, 'sponsorship' => 'Ruby', 'published' => Carbon::create(2015, 00, 15, 07, 30, 00)]);
     ConferenceSponsor::create(['conference_id' => 1, 'sponsor_id' => 6, 'sponsorship' => 'Gold', 'published' => Carbon::create(2015, 00, 15, 07, 30, 00)]);
     ConferenceSponsor::create(['conference_id' => 1, 'sponsor_id' => 7, 'sponsorship' => 'Diamond', 'published' => Carbon::create(2015, 00, 15, 07, 30, 00)]);
     ConferenceSponsor::create(['conference_id' => 1, 'sponsor_id' => 8, 'sponsorship' => 'Gold', 'published' => Carbon::create(2015, 00, 15, 07, 30, 00)]);
     ConferenceSponsor::create(['conference_id' => 1, 'sponsor_id' => 9, 'sponsorship' => 'Gold', 'published' => Carbon::create(2015, 00, 15, 07, 30, 00)]);
     ConferenceSponsor::create(['conference_id' => 1, 'sponsor_id' => 10, 'sponsorship' => 'Ruby', 'published' => Carbon::create(2015, 00, 15, 07, 30, 00)]);
     ConferenceSponsor::create(['conference_id' => 1, 'sponsor_id' => 11, 'sponsorship' => 'Diamond', 'published' => Carbon::create(2015, 00, 15, 07, 30, 00)]);
     ConferenceSponsor::create(['conference_id' => 1, 'sponsor_id' => 12, 'sponsorship' => 'Gold', 'published' => Carbon::create(2015, 00, 15, 07, 30, 00)]);
 }
Exemplo n.º 2
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) [];
 }