@ImPuuLsE

Как сделать валидацию уникального поля в Larvel 5?

Здравствуйте! имеется следующий код обновления записи
public function update(Request $request, $id)
    {
        $page = Page::findOrFail($id);
        $this->validate($request, [
            'title' => 'required',
            'description' => 'required',
            'slug' => 'required|unique:pages',
            'status' => 'required',
            'type' => 'required',
        ]);
        $input = $request->all();
        $page->fill($input)->save();
        \Session::flash('page_updated', 'Страница обновлена!');

        return redirect()->route('adminPages');
    }

Получается что при создании записи формируется slug, а при обновлении этой же записи пишет что уже такой слаг используется хотя это тот же самый и в базе идентичных нет. Как быть?
  • Вопрос задан
  • 266 просмотров
Решения вопроса 1
Denormalization
@Denormalization
Читаем тут laravel.com/docs/5.1/validation#rule-unique
Конкретно раздел "Forcing A Unique Rule To Ignore A Given ID"

Т.е в данном случае будет так:
'slug' => 'required|unique:pages,slug,' . $page->id,
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы