我在Laravel 5.2.3中使用PHPstorm,目前正在尝试通过重用我的创建页面中的表单来更新人员信息。我已经从laracast教程中跟踪了T的所有内容,但出于某种原因,当我点击提交更新时,我收到了MethodNotAllowed
错误。
路线
Route::group(['middleware' => ['web']], function()
{
...
Route::get('create','ResourceController@create');
Route::post('create', 'ResourceController@store');
Route::resource('pages', 'ResourceController');
});

控制器
class ResourceController extends Controller
{
...
public function create()
{
return view('pages.create');
}
public function store(Requests\CreateNewContactRequest $request)
{
ContactPerson::create($request->all());
return redirect('resource');
}
public function edit($id)
{
$user = ContactPerson::findOrFail($id);
return view('pages.edit')->with(compact('user'));
}
public function update($id, Request $request)
{
$user = ContactPerson::findOrFail($id);
$user->update($request->all());
return redirect('pages.resource');
}
}

修改视图
@extends('app')
@section('content')
{!! Form::model($user, ['method' => 'PATCH', 'action' => ['ResourceController@update', $user->id]]) !!}
<div class="form">
{!! Form::label('first', 'First Name: ') !!}
{!! Form::text('First_Name', null, ['class' => 'form']) !!}
</div>
<div class="form">
{!! Form::label('last', 'Last Name: ') !!}
{!! Form::text('Last_Name', null, ['class' => 'form']) !!}
</div>
...
{!! Form::close() !!}
&#13;
查看来源
答案 0 :(得分:1)
它会在'route' => ['pages.update', $user->id]
代码中生成错误的操作。尝试使用:
'action' => ['ResourceController@update', $user->id]
而不是:
select a.col1, a.col2, a.col3, b.col1, b.col2
from tableA as a
inner join tableB as b on a.b_id = b.id
有效吗?。