/**
  * @param $name
  * @param $navCode
  * @param $userData
  * @return static
  */
 public static function createNew($name, $navCode, $userData)
 {
     $company = new static();
     $company->name = $name;
     $company->nav_code = $navCode;
     $company->save();
     $users = [];
     foreach ($userData as $data) {
         $users[] = User::createNew($data['username'], $data['password']);
     }
     $company->users()->saveMany($users);
     return $company;
 }
 /**
  * @param $userData
  * @param $company
  */
 private function updateOrCreateUsers($userData, $company)
 {
     foreach ($userData as $data) {
         if (isset($data['id'])) {
             $user = User::where('id', $data['id'])->first();
             $user->username = $data['username'];
             if (isset($data['password'])) {
                 $user->password = Hash::make($data['password']);
             }
             $user->save();
         } else {
             $user = User::createNew($data['username'], $data['password']);
             $company->users()->save($user);
         }
     }
 }