@alexmixaylov

Как обновить запись базы laravel?

Помогите пожалуйста понять как можно обновить запись в базе данных.
Начал изучать фреймворк, неделю читаю мануалы - голова пухнет уже, поэтому банальное ЧИТАЙТЕ ДОКИ не подходит :)

Сделал примитивную админку:
форма добавления записи
удаление записи

как то нужно редактировать запись теперь
никак не могу разобраться как это сделать
сама форма в которую передается запись для редактирования
<div class="col-md-6 col-md-offset-3">
            {!! Form::open([
            'route'=>'admin.abouts.store', // роут здесь неправильный понятно, пытаюсь ставить апдейт вместо сторе ошибка что пропущен параметр. Я понимаю что нужно айди элемента передать, но не пойму как это сделать
            'files' => true
            ]) !!}

            <div class="form-group">
                {!! Form::label('description', 'Описание') !!}
                {!! Form::text('description', $item->description, ['class'=>'form-control']) !!}
            </div>
            <div class="form-group">
                <img src="{{$item->icon}}" alt="">
            </div>
            <div class="form-group">
                {!! Form::label('icon', 'Картинка') !!}
                {{ Form::file('image') }}
            </div>
            <div class="form-group">
                {!! Form::submit('Добавить') !!}
            </div>
            {!! Form::close() !!}
        </div>

Маршруты
|        | POST      | admin/abouts                 | admin.abouts.store   | App\Http\Controllers\AboutController@store                      | web,auth   |
|        | GET|HEAD  | admin/abouts                 | admin.abouts.index   | App\Http\Controllers\AboutController@index                      | web,auth   |
|        | GET|HEAD  | admin/abouts/create          | admin.abouts.create  | App\Http\Controllers\AboutController@create                     | web,auth   |
|        | GET|HEAD  | admin/abouts/{abouts}        | admin.abouts.show    | App\Http\Controllers\AboutController@show                       | web,auth   |
|        | DELETE    | admin/abouts/{abouts}        | admin.abouts.destroy | App\Http\Controllers\AboutController@destroy                    | web,auth   |
|        | PUT|PATCH | admin/abouts/{abouts}        | admin.abouts.update  | App\Http\Controllers\AboutController@update                     | web,auth   |
|        | GET|HEAD  | admin/abouts/{abouts}/edit   | admin.abouts.edit    | App\Http\Controllers\AboutController@edit                       | web,auth

По ссылке localhost/admin/abouts/21/edit заходит
  • Вопрос задан
  • 1029 просмотров
Решения вопроса 1
zvermafia
@zvermafia
WebDev
{!! Form::open([
    'route'  => ['admin.abouts.update', $item->id],
    'method' => 'PUT',
    'files'  =>  true,
    'role'   => 'form', // ;)
]) !!}


// Ну и вы в контроллере AboutController@update можно сделать типа так:
$item = About::findOrFail($id)->update($request->all()); // Вернет true или false

// Если используете пакет laracasts/flash то еще можно дополнить код так:
flash()->success('The model has been updated!');

return redirect()->back();
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@alexmixaylov Автор вопроса
Спасибо еще раз
поля все сохраняет нормально, а картинку новую не изменяет
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы