“Laravel игнорируется уникальным при обновлении” Ответ

Laravel: проверка уникальная на обновление

Just a side note, most answers to this question talk about email_address while in Laravel's inbuilt auth system, the email field name is just email. Here is an example how you can validate a unique field, i.e. an email on the update:

In a Form Request, you do like this:

public function rules()
{
  return [
      'email' => 'required|email|unique:users,email,'.$this->user->id,
  ];
}
Or if you are validating your data in a controller directly:

public function update(Request $request, User $user)
{
  $request->validate([
      'email' => 'required|email|unique:users,email,'.$user->id,
  ]);
}
Update: If you are updating the signed in user and aren't injecting the User model into your route, you may encounter undefined property when accessing id on $this->user. In that case, use:

public function rules()
    {
      return [
          'email' => 'required|email|unique:users,email,'.$this->user()->id,
      ];
    }
A more elegant way since Laravel 5.7 is:

public function rules()
{
    return [
        'email' => ['required', 'email', \Illuminate\Validation\Rule::unique('users')->ignore($this->user()->id)]
    ];
}
shafeeque

Laravel Set Field уникальное

Schema::table('manufacturers', function($table)
{
    $table->string('name')->unique(); 
});
Alberto Peripolli

Laravel игнорируется уникальным при обновлении

// add this to validation rules
'input_name' => 'unique:table,column_to_check,value_to_ignore'
Petros Karagiannidis

Ответы похожие на “Laravel игнорируется уникальным при обновлении”

Вопросы похожие на “Laravel игнорируется уникальным при обновлении”

Больше похожих ответов на “Laravel игнорируется уникальным при обновлении” по PHP

Смотреть популярные ответы по языку

Смотреть другие языки программирования