Php 更新列值laravel
我正在尝试更新列值以批准服务(将值从0更改为1) 我得到一个错误: Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException 没有消息 这是控制器:Php 更新列值laravel,php,laravel,Php,Laravel,我正在尝试更新列值以批准服务(将值从0更改为1) 我得到一个错误: Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException 没有消息 这是控制器: <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illumi
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Storage;
use Session;
use App\Service;
class ServiceController extends Controller{
public function approuver($id){
Service::where([
'id' => $id,
])->update(array('flag'=>1));
$request->session()->flash('notif','Mise à jour reussi!');
return back();
}
}
这是刀片文件:
<div id="modal1{{$service->id}}" class="modal">
<div class="modal-content">
<p>Voulez vous vraiment approuver ce service ?</p>
<div class="row">
<form class="col s12" method="post"
action="/Services/approuver/{{$service->id}}">
{{ csrf_field() }}
@method('PUT')
<span> <input type="submit" class="btn purple hoverable waves
effect" value="Oui"></span>
<span> <a href="#" class="btn red hoverable waves effect modal-
action modal-close" id="Non"> Non</a></span>
</form>
</div>
</div>
您愿意提供什么样的服务
{{csrf_field()}}
@方法('PUT')
您正在发出PUT请求,但在路由中使用了POST方法 在你的路线上这样做
Route::put('/Services/approuver/{id}', 'ServiceController@approuver');
您的路线定义为
POST
,但您的表单具有@method('PUT')
。您必须决定要使用哪种方法。您应该删除@method('PUT')
或像这样更改定义的路由
Route::put('/Services/approver/{id}','ServiceController@approuver');代码>我更改了它,它将我带到另一个页面,但什么也没发生!这是不同的问题,但我认为控制器方法签名应该是公共函数approver($request,$id)
?无论如何,我不明白为什么它不会抱怨未定义的变量$request
。是否喜欢这个公共函数anyfunction(request$request)我更改了它,它将我带到另一个页面,但什么都没有发生!
Route::put('/Services/approuver/{id}', 'ServiceController@approuver');