无法更新Laravel 5.3中的特定行

时间:2018-01-02 06:30:13

标签: php laravel-5.3

我想更新我的表webcart,它有一个名为" identifier"所有交易ID都在哪里 现在我想更新特定标识符的状态和原因列 我试过这个

$amount=$request->amount;
$status=$request->status;
$reason=$request->unmappedstatus;
$txnid=$request->txnid;
$device = webcart::findOrFail($txnid);
$device->update([
  'amount' => $amount,'status'=>$status,'reason'=>$reason
]);

但是由于显而易见的原因它不起作用,有人可以告诉我该怎么做以及我必须在findorfail传递什么参数?

2 个答案:

答案 0 :(得分:1)

由于findOrFail方法使用了表格的主键,你可以通过使用where where条件来做同样的事情 txnid是设备表字段

的字段
$amount=$request->amount;
$status=$request->status;
$reason=$request->unmappedstatus;
$txnid=$request->txnid;
$device = webcart::where('txnid',$txnid);
$device->update([
  'amount' => $amount,'status'=>$status,'reason'=>$reason
]);

答案 1 :(得分:0)

尝试这样的model->save()方法,它适用于更新和插入两者。

$device = new webcart();
$device->id = $request->id;
$device->txnid = $request->txnid;
$device->amount = $request->amount;
$device->status = $request->status;
$device->unmappedstatus = $request->unmappedstatus;
$device->save();