我正在尝试使用同一个表中的hours_worked
和daiy_attendance
更新in_time
表中的out_time
列。已存储在表格中的in_time
和out_time
。
所以我正在使用timediff
来区别对待。当我在phpmyadmin
sql格式上尝试时,查询运行并正确执行,但是当我尝试在程序中运行它时,它不会更新hours_worked
列。它没有任何错误。
$sql5 = "UPDATE daily_attendances SET hours_worked = TIMEDIFF(out_time,in_time) WHERE in_time != '' AND out_time != '' ";
$result2 = DB::statement(DB::raw($sql5));
答案 0 :(得分:2)
尝试
DB::table('daily_attendances')
->whereRaw("in_time != '' AND out_time != ''")
->update(['hours_worked ' =>DB::raw('TIMEDIFF(out_time,in_time)')]);
OR
只需使用db:statement
$sql5 = "UPDATE daily_attendances SET hours_worked = TIMEDIFF(out_time,in_time) WHERE in_time != '' AND out_time != '' ";
$result2 = DB::statement($sql5);