Laravel игнорировать уникальную проверку - PullRequest
0 голосов
/ 24 июня 2019

У меня есть таблица продуктов и уникальный столбец, но когда я пытаюсь его обновить, происходит сбой и отображается уникальное сообщение об ошибке. Я пытаюсь что-то игнорировать, но не работает.

 $attributes = $request->validate([
            'name' => 'required|min:3',
            'description' => 'nullable|min:3',
            'selling_price' => 'required|numeric',
            'purchase_price' => 'required|numeric',
            'quantity' => 'required|integer',
            'unit' => 'nullable',
            'stock_alert' => 'nullable|numeric',
            'unique_code' => "required|unique:products,unique_code,$product->id",
            'awb' => 'required|numeric'
        ]);

Большое спасибо!

Ответы [ 2 ]

1 голос
/ 24 июня 2019

Вы можете игнорировать подобное поле

use Illuminate\Validation\Rule;

 $attributes = $request->validate([
            'name' => 'required|min:3',
            'description' => 'nullable|min:3',
            'selling_price' => 'required|numeric',
            'purchase_price' => 'required|numeric',
            'quantity' => 'required|integer',
            'unit' => 'nullable',
            'stock_alert' => 'nullable|numeric',
            'unique_code' => [
                "required",
                Rule::unique('products', 'unique_cod')->ignore($product->id),
             ],
            'awb' => 'required|numeric'
        ]);
0 голосов
/ 24 июня 2019

Игнорировать это не правильный путь. По какой-то причине вы используете проверку.

Чтобы сделать обновление, просто извлеките идентификатор продукта из кавычек, например:

'unique_code' => 'required|unique:products,unique_code,'. $product->id,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...