duanhongxian6982 2017-04-07 09:00
浏览 89

Laravel请求中的用户ID参数

I have an admin where he is able to create and update users. I made a new Form request called 'UserUpdateRequest'. How can I pass the user id so that it can update user detail? Here are my rules:

// UserUpdateRequest 
public function rules()
    {
        return [
            'firstname' => 'required|min:2|max:255',
            'lastname' => 'required|min:2|max:255',
            'username' => 'required|max:255',
            'password' => 'required|min:6|confirmed',
            'email' => 'required|email|max:255|unique:users,email,????',
            'contact' => 'required|integer',
            'gender' => 'required|in:m,f',
            'role_id' => 'required|exists:roles,id',
        ];
    }

// Controller
public function update(UserUpdateRequest $request, User $user)
    {
        $user->update([
            'firstname' => request('firstname'),
            'lastname' => request('lastname'),
            'username' => request('username'),
            'email' => request('email'),
            'contact' => request('contact'),
            'gender' => request('gender'),
            'role_id' => request('role_id'),
        ]);

        session()->flash('message', 'User has been successfully added.');

        return redirect('/users/' . $user->id);
    }

'required|email|max:255|unique:users,email,????', is where I am confused.

  • 写回答

4条回答 默认 最新

  • dsx666666 2017-04-07 09:04
    关注

    Since admin is changing users I assume you already have user data on your view file.

    you can pass a hidden input on your form.

    <input type="hidden" value="{{$user->id}}" name="user_id" />
    

    and then receive it on your controller.

    $user_id = $request->input('user_id');
    $user = \App\User::find($user_id); 
    //validation comes here
    

    Edit Depending on new information

    public function update(UserUpdateRequest $request, User $user) 
    

    should be

    public function update(Request $request, User $user) 
    

    and you have to call Request on your controller;

    use Illuminate\Http\Request;
    

    after that you can get your request as

    dd($request->all());
    

    but if you are using a special request post your UserUpdateRequest class.

    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题