Laravel:如何更新箭头所示的记录值

Laravel: how to update records values coming as arrow

我是 Laravel 的新手,我需要更新来自表单的数组形式的记录。

    $a = $request->id;
    $b = $request->val;      

现在我需要更新记录

   Details::find($b)->update(['detail'=>$a]);

上面的脚本显然不起作用...

您可以通过不止一种方式完成,试试这个:

$details = Details::find($request->input($id));
$details->val = $request->input('val');
$details->save();

或者,如果输入与模型字段同名,您可以使用它:

$details = Details::findOrFail($request->input($id));
$details->update($request->all());

您可以通过以下方式进行更新。假设 detail 是您要更新的字段名称。

$id = $request->id;
$val = $request->val;

$detail = Details::findOrFail($id);
$detail->detail = $val;
$detail->save();

为了下面的工作。您需要在模型中设置 $fillable 属性

// In Detail model
protected $fillable = ['detail'];

// Controller

Details::where('id', $id)->update([
    'detail' => $val
]);
$a = $request->id;
$b = $request->val;

$detail = Detail::where('id', $a)->first();
$detail->update(['detail' => $b]);