Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Сразу уточню, что вопрос касается работы без использования хелпера form, т.е. все формы делаю вручную.
Вопрос касается именно обновления уже существующей в базе записи, а не добавления.
Во всех руководствах предлагают такую систему роутов для данной операции:
Route::get('article/{article}/edit', ['as' => 'article.edit', 'uses' => 'ArticleController@edit']);
Route::patch('article/{article}', ['as' => 'article.update', 'uses' => 'ArticleController@update']);
Если я все правильно понимаю, то метод edit выводит форму и заполняет ее данными полей редактируемой записи из базы данных. При нажатии на "сохранить" вызываем метод update, который сохраняет в базу новые введенные данные и редиректит либо к списку записей либо обратно на страницу edit.
Но как быть в ситуации, если введены некорректные данные (например, не прошли валидацию), в этом случае снова нужно вывести форму при чем таким образом, чтобы она была заполнена "последними" данными, которые ввел пользователь.
В случае с create все просто - мы используем {{ old('...) }} для вывода последних данных.
Но как быть при update? Получается что метод update должен сохранять данные в случае успешного ввода либо же снова выводить форму с введенными данными {{ old('...) }}?
Но в этом случае получается, что фактически нам нужны три шаблона формы - для create, для edit и для update. Многовато получается.
попробуй так {{ old('title') ?: $article->title }}
Не в сети
Спасибо за ответ, но оказывается что old принимает в качестве второго параметра значение по-умолчанию.