При создании раздела админки, для редактирования категорий товаров, возникла проблемы с валидацией при обновлении данных, а именно: игнорирования правил валидации уникального значения поля
slag при обновлении данных.
В таблице базы данных
categories, для ЧПУ ссылок, создано поле “slag” – с проверкой на уникальность
$table->string('slug')->unique();
В методе
UPDATE ресурсного контролера прописан ряд правила для валидации, в том числе и для проверки на уникальность поля slag, с игнорированием текущего значения для обновления данных.
public function update(Request $request, $id)
{
$category = Category::find($id);
$messages = [
'name.required' => 'Поле "Наименование категории" обязательно для заполнения',
'slug.required' => 'Поле "ЧПУ категории" обязательно для заполнения',
'slug.unique' => 'Данные в поле "ЧПУ категории" должны быть уникальными',
.....
];
$this->validate($request, [
'name' => 'required',
'slug' => 'required|unique:categories,slug,'.$category->slug,
....
],$messages);
В соответствии с документацией, задано правило валидации:
'slug' => 'required|unique:categories,slug,'.$category->slug
//То есть
//slug' => 'required|unique:таблица,поле,текущее_значение'
Но почему-то это не работает, при внесении изменений и попытке сохранить данные, срабатывает ошибка валидации, почему-то игнорирования текущего значения при проверки поля на уникальность не происходит.
Прошу помощи, где искать ошибку, куда смотреть?