laravel自定义请求编辑唯一
我对laravel 5.5有定制要求 这是请求laravel自定义请求编辑唯一,laravel,request,laravel-request,Laravel,Request,Laravel Request,我对laravel 5.5有定制要求 这是请求 public function rules() { if($this->method() == 'POST') { return [ 'user_name' => 'required|unique:users|max:40|min:1', 'user_email' => 'required|email|unique:users|max:40|min:3
public function rules()
{
if($this->method() == 'POST')
{
return [
'user_name' => 'required|unique:users|max:40|min:1',
'user_email' => 'required|email|unique:users|max:40|min:3',
'user_phone' => 'required|max:40|min:1',
'password' => 'required|min:3',
'image' => 'image|mimes:jpg,jpeg,gif,png|max:2048',
];
}
elseif($this->method() == 'PATCH')
{
return [
'user_name' => 'required|min:1|max:40|unique:users,user_name,'.$this->id,
'user_email' => 'required|email|unique:users|max:40|min:3',
'user_phone' => 'required|max:40|min:1',
'password' => 'required|min:3',
'image' => 'image|mimes:jpg,jpeg,gif,png|max:2048',
];
}
现在是方法路径
我想忽略当前的唯一id
我是这样写的
'user_name' => 'required|min:1|max:40|unique:users,user_name,'.$this->id,
但它总是告诉我你要更新的用户名已经在使用了
我不想在控制器上这样做
我想在请求中这样做
谢谢< < /p> < p>使用此代码> $> -> id <代码>,此处<代码> $ < <代码>不是一个用户类,而是一个请求实例,您可以考虑使用<代码> $-> >用户(->)> ID >代码>或<代码> Author()> Id()/<代码>或<代码> Auth::Id()/<代码>。如果您在路由中有用户id,如
users/{userId}
,您还可以使用$this->route('userId')
选择计数(*)作为users
的聚合,其中user\u name
=pulldozer和id
这是最后一个sql语句,id没有值是经过身份验证的用户还是其他用户更新?其他用户更新我不能使用Auth::user->id那么你应该添加一个包含更新用户的名为id
的隐藏输入身份证件将$this->id
替换为$this->request->get('id')
!