【问题标题】:How to update multiple rows using a single value in laravel?如何使用 laravel 中的单个值更新多行?
【发布时间】:2019-11-03 23:33:39
【问题描述】:

我是 laravel 的初学者,我想使用一个输入字段更新多行。

我的数据库记录:

例如,我的输入字段的值为 500,当我提交此字段时,它将从数据库中将多个选择的 id 从最旧更新到最新。

如果第一行的数量为 100,它将是 500 - 100,然后它会进入第二行,其中输入字段的值现在是 400,它会再次获得第二行的差异 400 - 200 直到输入字段变为 0。

这可能吗?谢谢。

【问题讨论】:

标签: php laravel


【解决方案1】:

运行 foreach 并在其中传递您的输入字段。简单

你可以按照下面的代码来理解..

public function updateRecord(Request $req)
    {
        //get data from oldest(ASC) to latest (desc).
        $var = $req->input_field;
        $data = ModelName::orderBy('id','asc')->get();

        foreach ($data as $key)
        {
            // ($var < 0) in case negative value
            if($var == 0 || $var < 0)
            {
                break;
            }       
            //find row with id
            $singleRow = ModelName::find($key->id);
            //holding data base quantity
            $dummyHolder = $single->quantity_requested;
            $single->quantity_requested = $dummyHolder + $var;
            $singleRow->save();

            //update variable
            $var = $var - $dummyHolder;
        }
    }

【讨论】:

猜你喜欢
  • 2019-09-26
  • 2023-02-03
  • 1970-01-01
  • 2020-11-18
  • 1970-01-01
  • 2022-01-18
  • 1970-01-01
  • 2021-06-01
  • 1970-01-01
相关资源
最近更新 更多