Я пытаюсь обновить сообщение, и для этого у меня есть форма со следующей разметкой
<form method="post" action="{{ admin_url('services/'.$service->id) }}">
<input name="_method" type="hidden" value="PATCH">
<div class="form-group">
<label for="name">Service Name</label>
<input type="text" class="form-control" id="name" name="name"
value="{{ old('name') ? old('name') : $service->name }}">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
Первоначально, когда форма открывается, она должна показывать значение модели {{$ service-> name}} и один разФорма отправлена, и если проверка не пройдена, она должна показывать старый ввод
Проблема в том, что если ввод пуст, логика {{ old('name') ? old('name') : $service->name }}
оценивается как ложное и вместо пустого значения отображается $service->name
.
Код моего контроллера
public function update($id, Request $request)
{
$validatedData = $request->validate([
'name' => 'required|max:255|min:5'
]);
$service = Service::find($id);
$service->name = $request->input('name');
$service->save();
return redirect(admin_url('services'))->with('message', 'Service updated successfully');
}