示例#1
0
 protected static function updateDB($data)
 {
     foreach ($data as $title) {
         if ($title['STUDENT ID'] != '') {
             //creating or updating districts
             $DDBNNN = preg_split('/(?<=[0-9])(?=[a-z]+)/i', $title['DDBNNN']);
             $district = District::firstOrCreate(['code' => $DDBNNN[0], 'system_id' => 1]);
             $district->code = $DDBNNN[0];
             $district->system_id = 1;
             $district->title = 'District ' . $DDBNNN[0];
             $district->save();
             $organization = Organization::where(['code' => $DDBNNN[1]])->with(array('districts' => function ($query) use($district) {
                 $query->where('district_id', $district->id);
             }))->first();
             if (is_null($organization)) {
                 // TODO figure out if this can be replaced with a firstOrCreate;
                 $organization = new Organization();
             }
             $organization->code = $DDBNNN[1];
             $organization->title = $DDBNNN[1];
             $organization->save();
             if (!$organization->districts->contains($district->id)) {
                 $organization->districts()->attach($district->id);
             }
             $user = User::firstOrCreate(['student_id' => $title['STUDENT ID']]);
             $user->student_id = $title['STUDENT ID'];
             $user->first_name = $title['FIRST NAME'];
             $user->last_name = $title['LAST NAME'];
             $user->sex = $title['SEX'];
             $user->dob = $title['BIRTH DT'];
             $user->save();
         }
     }
     $notifier = new Notifier();
     $notifier->to = Auth::user()->email;
     $notifier->subject = "Your import is completed at " . date('m-d-Y h:i:s A');
     $notifier->template = "emails.import";
     $notifier->attachData(['user' => Auth::user()]);
     $notifier->send();
 }