在 laravel 中一次更新多个列的值
Posted
技术标签:
【中文标题】在 laravel 中一次更新多个列的值【英文标题】:update multiple columns value at once in 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');
【问题讨论】:
【参考方案1】:使用这个:
whereIn('employee_id', $employeeIds)
【讨论】:
以上是关于在 laravel 中一次更新多个列的值的主要内容,如果未能解决你的问题,请参考以下文章