【问题标题】:How to update multiple rows in Laravel at once如何一次更新 Laravel 中的多行
【发布时间】:2021-04-02 04:48:45
【问题描述】:

我有一个用户表和另一个用于他们各自计划的表。我有一个显示用户及其计划的表单。我希望人力资源官员能够在所有计划中输入他/评论并通过一个提交按钮保存所有内容。请帮助如何重构此代码。

public function submitHrRemarks(Request $request){

    foreach ($plan_id = $request->plan_id as $key => $value) {

        if ($plan_id[$key] != '') {
      
            $hr_remarks = $request->hr_remarks[$key];
            
           // dd($hr_remarks,$value);

            $query = DB::table("weekly_plans")
                ->updateOrInsert(
                    [
                        'id' => $plan_id[$key], // pass your update id else empty
                    ],
                    //   $data =
                    [
                        'id' => $value,
                        'hr_remarks' => $hr_remarks,
                    ]);
        }
    }

    flash('You have successfully submitted the remarks!');
    return back();
}

【问题讨论】:

  • 您需要什么样的帮助?这段代码有什么问题
  • 问题是,它只从最后一个文本区域中选择输入并放入单个字母并用这些字母更新其余部分。例如,如果最后一个 textarea 中的输入是 abcd ,则“a”将插入第一行,“b”将插入第二行,“c”将插入第三行。
  • 你能给我们看看print_r($request)
  • print_r($request) 似乎是一个无限循环,浏览器会一直加载而不打印输出。
  • 然后试试dd($request)

标签: php laravel


【解决方案1】:

你可以在那里查看答案

Eloquent model mass update

前段时间我研究了这个问题,得出的结论是循环+查询生成器是批量更新的最佳选择

【讨论】:

    猜你喜欢
    • 2022-01-26
    • 2020-04-19
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 2017-02-23
    • 1970-01-01
    • 2021-02-15
    • 1970-01-01
    相关资源
    最近更新 更多