public function run()
 {
     $faker = Faker::create();
     DB::table('cerfs')->delete();
     // Gets array of event IDs.
     $event_ids = Event::all()->lists('id')->toArray();
     shuffle($event_ids);
     $user_ids = User::all()->lists('id')->toArray();
     shuffle($user_ids);
     // TODO Events have many CERFs, so make sure to update seeder accordingly.
     // Each CERF should only have one event. Some events do not have an associated CERF.
     for ($counter = 0; $counter < 10; $counter++) {
         $event_id = $event_ids[$counter];
         $user_id = $user_ids[$counter];
         Cerf::create(array('event_id' => $event_id, 'reporter_id' => $user_id, 'amount_raised' => $faker->randomFloat(2, 0, 1000), 'amount_spent' => $faker->randomFloat(2, 0, 1000), 'net_profit' => $faker->randomFloat(2, 0, 1000), 'funds_purpose' => $faker->text, 'summary' => $faker->text, 'strengths' => $faker->text, 'weaknesses' => $faker->text, 'reflection' => $faker->text, 'approved' => false));
     }
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param CreateCerfRequest $request
  * @return Response
  * @internal param $CreateCerfRequest
  */
 public function store(CreateCerfRequest $request)
 {
     $input = $request->all();
     $event = null;
     if (session()->has('hidden')) {
         // Extra validation for when events are created via CERF form.
         $this->validate($request, ['start_time' => 'required|date|before:end_time', 'end_time' => 'required|date']);
         /*
          * Creates event with minimal fields since an event made via the
          * CERF form should only be recorded for MRFs, and not placed on
          * the calendar.
          */
         $event = Event::create(array('chair_id' => $input['chair_id'], 'creator_id' => Auth::check(), 'title' => $input['title'], 'description' => 'Event that is not on the calendar. Recorded for administrative purposes.', 'event_location' => $input['event_location'], 'start_time' => $input['start_time'], 'end_time' => $input['end_time'], 'hidden' => true));
         // Removes all fields irrelevant to creating a CERF.
         unset($input['chair_id'], $input['title'], $input['event_location'], $input['start_time'], $input['end_time']);
         $input['event_id'] = $event->id;
     } else {
         /*
          * Finds event for current CERF and updates chair according to CERF
          * form.
          */
         $event = Event::find($input['event_id']);
         $event->update(array('chair_id' => $input['chair_id']));
         // Request contains start and end times to satisfy validation.
         unset($input['start_time'], $input['end_time']);
     }
     /*
      * Removes chair_id attribute from input before creating CERF since
      * chair_id is not a columns in cerfs table. Adds reporter_id field to
      * complete attributes array.
      */
     unset($input['chair_id']);
     $input['reporter_id'] = Auth::id();
     $cerf = Cerf::create($input);
     /*
      * Stores values in session for next steps of multi-page form to create
      * tags, activities, and Kiwanis attendees based on current event and
      * CERF.
      */
     session()->put('event_id', $event->id);
     session()->put('cerf_id', $cerf->id);
     return redirect()->action('TagsController@create');
 }