/** * создать родителя * * @param $attributes * * @return ParentModel */ public function create($attributes) { $user = User::create(['telephone' => $attributes['telephone'], 'name' => $attributes['fio'], 'role_id' => User::PARENT]); unset($attributes['telephone']); $parent = ParentModel::create($attributes); $parent->user_id = $user->id; $parent->save(); $this->syncChildren($parent, $attributes); return $parent; }
/** * Create a new user instance after a valid registration. * * @param array $data * @return User */ protected function create(array $data) { return DB::transaction(function () use($data) { $data['status'] = "WAITING_APPROVAL"; $data['password'] = bcrypt($data['password']); $user = new User(); $user = User::create($data); if (isset($data['avatar'])) { $imageName = time() . '.' . $data['avatar']->getClientOriginalExtension(); $location = 'uploads/avatar/' . str_slug($user->name) . '/'; $data['avatar']->move($location, $imageName); $user->avatar = url($location . $imageName); } else { if ($data['gender'] == "F") { $user->avatar = url('uploads/avatar/defaultLady.jpg'); } else { $user->avatar = url('uploads/avatar/defaultMale.jpg'); } } $user->save(); $data['user_id'] = $user->id; switch ($data['UsertypeName']) { case 'Student': Student::create($data); break; case 'Parent': ParentModel::create($data); break; case 'Staff': Staff::create($data); break; default: Foundation::create($data); break; } return $user; }); }