我有两个按钮:1-在数据库中插入数据,2-更新第一行...我试图从数据库更新第一行,但该功能无法正常工作。
我的按钮:
<form action="{{action('CashierController@openCashier')}}" method="post">
@csrf
<button type="submit" class="btn btn-primary" style="margin-top: 10px">Iniciar Caixa</button>
</form>
<form action="{{action('CashierController@closeCashier')}}" method="put">
@csrf
<button type="submit" class="btn btn-danger" style="margin-top: 10px">Fechar Caixa</button>
</form>
我的BD:
CashierController:
public function openCashier(){
$date = date('d-m-Y H:i');
$status = 1;
DB::table('cashier')->insert([
'start' => DB::raw('INET_ATON(\''.$date.'\')'),
'status' => DB::raw('INET_ATON(\''.$status.'\')'),
]);
return redirect()->to('admin/cashier')
->with('date', $date)
->with('status', $status);
}
public function closeCashier(){
$date = date('d-m-Y H:i');
$status = 0;
DB::table('cashier')->orderBy('id','desc')->first()
->update(array('status'=>$status, 'last'=>$date));
return redirect()->to('admin/cashier')
->with('date', $date)
->with('status', $status);
}
路线:
//================================Cashier=================================//
Route::get('/admin/cashier', 'CashierController@index');
Route::post('/admin/cashier', 'CashierController@openCashier');
Route::put('/admin/cashier', 'CashierController@closeCashier');
我的代码有问题吗?我看不到
答案 0 :(得分:2)
来自Laravel的documentation:
HTML表单不支持PUT,PATCH或DELETE操作。所以,当 定义从HTML调用的PUT,PATCH或DELETE路由 表单,则需要向表单添加一个隐藏的_method字段。的 _method字段发送的值将用作HTTP请求 方法:
此更新实际上是使用PUT
。您需要在表单中欺骗该方法。
<form action="{{action('CashierController@closeCashier')}}" method="POST">
@csrf
@method('PUT')
<button type="submit" class="btn btn-danger" style="margin-top: 10px">Fechar Caixa</button>
</form>