【问题标题】:update multiple columns value at once in laravel在 laravel 中一次更新多个列的值
【发布时间】:2018-04-08 14:30:41
【问题描述】:

我正在尝试使用结帐时间更新所有选定员工的考勤列outtime。在intime 签入时间成功存储在数据库中,但更新时遇到问题。我做了类似下面的事情,但它正在更新唯一的第一行。请问应该写什么查询有人帮助我吗?

出勤控制器.php

public function checkout(Request $request)
{

    $request->validate([
        'outtime'  => 'required',
        'employee_id' => 'required',
    ]);


    $outTime    = Carbon::parse($request->outtime)->format('H:i:s');
    $date       = date('Y-m-d');
    $employeeIds = $request->employee_id;

    $data = [];


    foreach ($employeeIds as $employeeId) {
        $data[] = [
            'employee_id' => $employeeId,
            'attendance_date' => $date,
        ];

    }

    $update = Attendance::where('employee_id', $data)
                        ->where('attendance_date', $date)
                        ->update([
                            'outtime' => $outTime 
                        ]);


    return back()->with('success', 'Checked Out');       
}

【问题讨论】:

    标签: php mysql sql laravel laravel-eloquent


    【解决方案1】:

    使用这个:

    whereIn('employee_id', $employeeIds)
    

    【讨论】:

      猜你喜欢
      • 2020-12-20
      • 2022-12-20
      • 1970-01-01
      • 2020-04-19
      • 1970-01-01
      • 1970-01-01
      • 2021-04-02
      • 1970-01-01
      • 2015-10-03
      相关资源
      最近更新 更多