findOrFail($id); $roleName = $request->get('role_name'); if ($roleName) { $role = Role::query()->where("guard_name", "api")->where('name', $roleName)->firstOrFail(); $user->role_id = $role->id; $user->save(); } $roles = $roleName ? [$roleName] : []; $user->syncRoles($roles); return $this->noContent(); } public function index(){ $user = User::all(); return UserInfoResource::collection($user); } /** * add a new User * @return \Illuminate\Http\Response */ public function store(CreateOrUpdateRequest $request){ $password = Hash::make($request->password); $user=$request->all(); $user['password']=$password; User::create([ ...$user, 'created_by' => Auth::id(), ]); // TODO:发送邮箱给目标用户 return $this->created(); } /** * batchCreate User,为ditto时参考上一条 * @return \Illuminate\Http\Response */ public function batchStore(BatchCreateRequest $request){ $userData = $request->all(); DB::transaction(function () use ($userData) { foreach ($userData as $k => $data) { $user = new User(); if ($k != 0) { $userData[$k]["department_id"] = $userData[$k]["department_id"] == 'ditto' ? $userData[$k - 1]["department_id"] : $userData[$k]["department_id"]; $userData[$k]["role_id"] = $userData[$k]["role_id"] == 'ditto' ? $userData[$k - 1]["role_id"] : $userData[$k]["role_id"]; } $userData[$k]['password'] = Hash::make($userData[$k]['password']); $user->fill([ ...$userData[$k], 'created_by' => Auth::id(), ]); // TODO:发送邮箱给目标用户 $user->save(); } }); // TODO:发送邮箱给目标用户 return $this->created(); } public function destroy(string $id) { } public function show(string $id) { } public function update(CreateOrUpdateRequest $request, string $id) { } }