Laravel中的数据库更新查询?

时间:2017-08-01 03:28:55

标签: php mysql laravel laravel-5

我正在尝试使用同一个表中的hours_workeddaiy_attendance更新in_time表中的out_time列。已存储在表格中的in_timeout_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));

1 个答案:

答案 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);