laravel - 做一个验证功能

问题描述 投票:0回答:1

我试图做一个功能验证数据..所以我可以重复使用它在任何地方在我的控制器

UserController的:

public function store(Request $request)
    {
        $validated = $this->validateUser();
        $request_data = $validated->except(['permissions']);
        $request_data['password'] = Hash::make(123456);
        $user = User::create($request_data);
        $user->attachRole('admin');
        $user->syncPermissions($request->permissions);  
        return redirect()->route('dashboard.users.index');
    }

public function update(Request $request, User $user)
    {
        $validated = $this->validateUser($user->id);

        $request_data = $request->except(['permissions']);
        $user->update($request_data);
        $user->syncPermissions($request->permissions);
        return redirect()->route('dashboard.users.index');
    }


public function validateUser($value=null)
    {
        return request()->validate([
            'full_name'   => 'required|min:5|max:255',
            'email'       => 'required|unique:users,email,'.$value,
            'civil_num'   => 'required|unique:users,civil_num,'.$value,
            'permissions' => 'required|min:1',
        ]);
    }

试图保存时发生数据错误

Call to a member function except() on array 
laravel-5.7
1个回答
1
投票

尽量不要使用数组

$request_data = $request->except('permissions');
© www.soinside.com 2019 - 2024. All rights reserved.