如何更新 laravel 中的单列
How to update single column in laravel
我是 Laravel 的新手,我正在尝试创建一个应用程序。我创建了一个表单,并使用控制器将此表单存储到我的 database.The 表单中,该表单有一个名为 "Status".
的下拉字段
"Status" 就像 "Categories" 所以我需要在不改变任何其他东西的情况下改变它。我正在尝试编写代码,但我做错了什么。你可以在下面看到我的代码:
控制器:
public function show($id)
{
$servicedevice = DeviceService::findOrFail($id);
return view('device_service.show', compact('servicedevice', $servicedevice));
}
public function devicestatus(Request $request)
{
$devstat = DeviceService::FindOrFail($servicedevice->id);
$devstat->status_id = $request->device_id;
$devstat->save();
return back();
}
查看:
{!! Form::open(['action' => 'DeviceServiceController@devicestatus']) !!}
{!! Form::select('status_id', $statuslist, null, [
'class' => 'js-example-basic-single',
'style' => 'width:50%'
]) !!}
{!! Form::hidden('id', $servicedevice->id) !!}
{!! Form::submit('ok', ['class' => 'btn btn-sm btn-flat btn-warning']) !!}
{!! Form::close(); !!}
路线:
Route::get('/devicestatus', 'DeviceServiceController@devicestatus');
当我尝试更改"Status"时,returns出现如下错误
MethodNotAllowedHttpException in RouteCollection.php line 218:
in RouteCollection.php line 218
at RouteCollection->methodNotAllowed(array('GET', 'HEAD')) in RouteCollection.php line 205
at RouteCollection->getRouteForMethods(object(Request), array('GET', 'HEAD')) in RouteCollection.php line 158
at RouteCollection->match(object(Request)) in Router.php line 780
at Router->findRoute(object(Request)) in Router.php line 610
at Router->dispatchToRoute(object(Request)) in Router.php line 596
at Router->dispatch(object(Request)) in Kernel.php line 267
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 46
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 104
at Pipeline->then(object(Closure)) in Kernel.php line 149
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 116
at Kernel->handle(object(Request)) in index.php line 54
你能帮帮我吗?
错误消息和堆栈跟踪告诉您到底发生了什么:
MethodNotAllowedHttpException
...
RouteCollection->methodNotAllowed(array('GET', 'HEAD'))
您正在提交表单(默认为 POST
方法)但您只将路由定义为 Route::get
。
您需要将其更改为 Route::any
或将第二条路线 Route::post
定义为相同的 URL 但使用不同的方法调用。
我是 Laravel 的新手,我正在尝试创建一个应用程序。我创建了一个表单,并使用控制器将此表单存储到我的 database.The 表单中,该表单有一个名为 "Status".
的下拉字段"Status" 就像 "Categories" 所以我需要在不改变任何其他东西的情况下改变它。我正在尝试编写代码,但我做错了什么。你可以在下面看到我的代码:
控制器:
public function show($id)
{
$servicedevice = DeviceService::findOrFail($id);
return view('device_service.show', compact('servicedevice', $servicedevice));
}
public function devicestatus(Request $request)
{
$devstat = DeviceService::FindOrFail($servicedevice->id);
$devstat->status_id = $request->device_id;
$devstat->save();
return back();
}
查看:
{!! Form::open(['action' => 'DeviceServiceController@devicestatus']) !!}
{!! Form::select('status_id', $statuslist, null, [
'class' => 'js-example-basic-single',
'style' => 'width:50%'
]) !!}
{!! Form::hidden('id', $servicedevice->id) !!}
{!! Form::submit('ok', ['class' => 'btn btn-sm btn-flat btn-warning']) !!}
{!! Form::close(); !!}
路线:
Route::get('/devicestatus', 'DeviceServiceController@devicestatus');
当我尝试更改"Status"时,returns出现如下错误
MethodNotAllowedHttpException in RouteCollection.php line 218:
in RouteCollection.php line 218
at RouteCollection->methodNotAllowed(array('GET', 'HEAD')) in RouteCollection.php line 205
at RouteCollection->getRouteForMethods(object(Request), array('GET', 'HEAD')) in RouteCollection.php line 158
at RouteCollection->match(object(Request)) in Router.php line 780
at Router->findRoute(object(Request)) in Router.php line 610
at Router->dispatchToRoute(object(Request)) in Router.php line 596
at Router->dispatch(object(Request)) in Kernel.php line 267
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 46
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 104
at Pipeline->then(object(Closure)) in Kernel.php line 149
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 116
at Kernel->handle(object(Request)) in index.php line 54
你能帮帮我吗?
错误消息和堆栈跟踪告诉您到底发生了什么:
MethodNotAllowedHttpException
...
RouteCollection->methodNotAllowed(array('GET', 'HEAD'))
您正在提交表单(默认为 POST
方法)但您只将路由定义为 Route::get
。
您需要将其更改为 Route::any
或将第二条路线 Route::post
定义为相同的 URL 但使用不同的方法调用。