У меня есть форма редактирования с Laravel Collective, но при нажатии кнопки данные не обновляются. Ниже мои коды.
Форма:
{!! Form::model($post, ['route' => ['/post/update/', $post->id]]) !!}
{{ method_field('PATCH') }}
<div class="form-group">
<div class="row">
<div class="col-lg-6">
{!! Form::label('title', 'Title') !!}
{!! Form::text('title', null, ['class' => 'form-control']) !!}
</div>
<div class="col-lg-6">
{!! Form::label('category_id', 'Category') !!}
{!! Form::select('category_id', $categories, null, ['class' => 'form-control']) !!}
</div>
</div>
</div>
<div class="form-group">
{!! Form::label('content', 'Content') !!}
{!! Form::textarea('content', null, ['class' => 'form-control', 'rows' => 10]) !!}
</div>
<hr/>
<div class="form-group">
{!! Form::submit('Update', ['class' => 'btn btn-success pull-right']) !!}
</div>
{!! Form::close() !!}
Контроллер:
public function edit($id)
{
return \View::make('admin/post/edit')->with([
'post' => \DB::table('posts')->find($id),
'categories' => \App\Category::lists('category', 'id')
]);
}
public function update(Request $request, Post $post)
{
$post->update($request->all());
return \Redirect::to('/admin/posts');
}
Маршруты:
Route::get('/admin/post/edit/{id}', 'Admin\PostController@edit');
Route::patch('/post/update/', [
'as' => '/post/update/',
'uses' => 'Admin\PostController@update'
]);
Он немного отличается от Laracast, и меня это сбивает с толку. Фреймворк для меня в новинку, и отсутствие кода для каких-либо действий сбивает с толку.
/post/update/{post}
и проверьте, работает ли он - person Laerte   schedule 01.03.2016MassAssignmentException _token
- person fermoga   schedule 01.03.2016'as' => '/post/update/'
должно быть'as' => 'post.update'
, это обычное соглашение в Laravel. - person user2094178   schedule 01.03.2016