コード例 #1
0
 /**
  * Save a model with it's relations.
  *
  * @param $data
  * @param null $id
  *
  * @return static
  */
 public static function save($data, $id = null)
 {
     if ($id) {
         $employee = Employee::findOrFail($id);
         $employee->fill($data);
     } else {
         $employee = Employee::create($data);
     }
     Address::whereEmployeeId($employee->id)->delete();
     // flush
     Course::whereEmployeeId($employee->id)->delete();
     foreach (array_get($data, 'address', []) as $key => $d) {
         if (empty($d['city']) && empty($d['street']) && empty($d['number'])) {
             continue;
         }
         $address = new Address($d);
         $address->employee_id = $employee->id;
         $address->save();
     }
     foreach (array_get($data, 'course', []) as $key => $d) {
         if (empty($d['title']) && empty($d['start']) && empty($d['end'])) {
             continue;
         }
         $course = new Course($d);
         $course->employee_id = $employee->id;
         $course->save();
     }
     $employee->save();
     return $employee;
 }