无法更新Laravel 5.3中的特定行

问题描述 投票:1回答:2

我想更新我的表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传递什么参数?

php laravel-5.3
2个回答
1
投票

由于findOrFail方法使用表的主键,你可以通过使用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
]);

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();
© www.soinside.com 2019 - 2024. All rights reserved.