/** * @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); } } }