public function run()
 {
     $faker = Faker::create();
     // Create 3 boards
     SchoolBoard::create(['id' => '99', 'board_name' => 'Not Applicable', 'board_number' => 'B1999', 'board_nickname' => 'ADSB']);
     SchoolBoard::create(['id' => '100', 'board_name' => 'Algoma District School Board', 'board_number' => 'B28010', 'board_nickname' => 'ADSB']);
     SchoolBoard::create(['id' => '101', 'board_name' => 'Huron-Superior Catholic District School Board', 'board_number' => 'B29025', 'board_nickname' => 'HSCDSB']);
     // Create some schools
     foreach (range(1, 25) as $index) {
         $suffix = $faker->randomElement(['Public School', 'Highschool']);
         School::create(['schoolboard_id' => $faker->randomElement([100, 101]), 'school_name' => $faker->company . ' ' . $suffix]);
     }
 }
 public function run()
 {
     \DB::table('students')->truncate();
     $faker = Faker::create();
     foreach (range(1, 450) as $index) {
         // Set whether a student is on or off reserve
         $on_reserve = $faker->boolean(60);
         if ($on_reserve == 1) {
             $address = rand(15, 550) . ' Bear Creek Ave.';
             $city = 'Batchewana First Nation';
         } else {
             $address = $faker->streetAddress;
             $city = 'Sault Ste. Marie';
         }
         $irs = '198' . $faker->numerify('#####') . '01';
         // Choose the gender
         $gender = $faker->randomElement(['M', 'F']);
         if ($gender === 'M') {
             $fName = $faker->firstNameMale;
         } else {
             $fName = $faker->firstNameFemale;
         }
         // Get whether student is Elementary / Highschool
         $dob = $faker->dateTimeBetween('-18 years', '-5 years');
         $carbonDob = Carbon::createFromFormat('Y-m-d', $dob->format('Y-m-d'));
         // Convert dob to string
         if ($carbonDob->age < 14) {
             $type = 'EL';
             $gradelevel = [100, 101, 102, 103, 104, 105, 106, 107, 108, 109];
         } else {
             $type = 'HS';
             $gradelevel = [110, 111, 112, 113];
         }
         $date = $faker->dateTimeThisYear;
         $student = Student::create(['first_name' => $fName, 'last_name' => $faker->lastName, 'irs_number' => $irs, 'gender' => $gender, 'dob' => $dob, 'on_reserve' => $on_reserve, 'band_membership' => 'BFN', 'home_street_address' => $address, 'home_street_address2' => '', 'home_city' => $city, 'home_province' => 'ON', 'home_country' => 'CA', 'home_postal_code' => $faker->postcode, 'telephone_number' => $faker->phoneNumber, 'email_address' => $faker->freeEmail, 'is_active' => $faker->boolean(95), 'on_iep' => $faker->boolean(25), 'is_speced' => $faker->boolean(40), 'type' => $type, 'created_at' => $date, 'updated_at' => $date, 'mothers_name' => $faker->firstNameFemale, 'fathers_name' => $faker->firstNameMale, 'guardians_name' => $faker->firstNameFemale . ' ' . $faker->lastName, 'lives_with' => $faker->randomElement(['MOTHER', 'FATHER', 'BOTH', 'GUARDIAN'])]);
         // ASSIGN STUDENT TO SCHOOL
         $school = School::orderBy(DB::raw('RAND()'))->first();
         SecondaryStudent::create(['student_id' => $student->id, 'school_id' => $school->id, 'schoolboard_id' => $school->schoolboard_id, 'grade_level_id' => $faker->randomElement($gradelevel)]);
     }
 }