我正在尝试更新mysql表中的一行。但是,当我单击register按钮时,它什么也不做。我用的是拉威尔。
这是我的 update
功能:
public function update(Request $request)
{
$idpawn = $request['idprestamo'];
$paynumber = $request['numeropago'];
$payqty = $request['payqty'];
$statuspawns = statuspawns::find($idpawn,$paynumber);
$updateqty = $statuspawns->totalpayment - $payqty;
if($updateqty == "0"){
$status = "Pay";
}
else{
$status = "Partial Payment";
}
$statuspawns->total = $updateqty;
$statuspawns->status = $status;
$statuspawns->save();
return redirect()->back();
}
谢谢你的帮助。
3条答案
按热度按时间kiz8lqtg1#
您没有正确检索记录。您必须只传递id才能找到()。因为你已经传递了两个参数。
将此语句更改为。。
到
现在可以更新要更新的列。
slmsl1lt2#
你必须进入
Request
这种方式$request->input_name
不是这样的$request('input_name')
因为这是一个拉威尔的数据收集最后,您的函数将如下所示:
更新
在Laravel5.7中,您必须使用
update()
方法而不是save()
方法来更新行。lmvvr0a83#
我认为问题可能是你需要方括号而不是圆括号,因为它是一个数组。
$request['idprestamo']
$request['numeropago']$request['payqty']
我还想补充一点,你可以这样做,也可以用魔术的方法。。。$request->numeropago