private function initData() { $this->login(); factory(App\Activity::class, 50)->create(); factory(App\User::class, 10)->create(); factory(App\User::class, 'admin', 1)->create(); factory(App\Group::class, 25)->create()->each(function ($g) { for ($i = 0; $i < 5; $i++) { $g->users()->save(factory(App\User::class)->make(), ['role' => 'member']); } $g->users()->save(factory(App\User::class)->make(), ['role' => 'leader']); }); factory(App\Event::class, 5)->create()->each(function ($event) { $date = $event->time->startOfDay(); $endDate = $event->endDate; do { $occurrence = new EventOccurrence(); $occurrence->event_id = $event->id; $occurrence->date = $date; $occurrence->save(); $date->addWeek(); } while ($date < $endDate); }); $faker = Faker\Factory::create(); $occurrences = EventOccurrence::all(); $activities = Activity::all()->toArray(); foreach ($occurrences as $occurrence) { foreach ($faker->randomElements($activities, $faker->randomDigit) as $activity) { $occurrence->activities()->attach($activity['id']); } } }
public function scopeUpcoming($query) { $events = EventOccurrence::all()->filter(function ($events) { return Carbon::Parse($events['date']) > Carbon::yesterday(); })->map(function ($value, $key) { return $value['id']; }); return $query->whereIn('id', $events); }
/** * Run the database seeds. * * @return void */ public function run() { // factory(App\Event::class, 5)->create()->each(function ($event) { $date = $event->time->startOfDay(); $endDate = $event->endDate; do { $occurrence = new EventOccurrence(); $occurrence->event_id = $event->id; $occurrence->date = $date; $occurrence->save(); $date->addWeek(); } while ($date < $endDate); }); $faker = Faker\Factory::create(); $occurrences = EventOccurrence::all(); $activities = Activity::all()->toArray(); foreach ($occurrences as $occurrence) { foreach ($faker->randomElements($activities, $faker->randomDigit) as $activity) { $occurrence->activities()->attach($activity['id']); } } }