Laravel 5 如何使用laravel用一些数据更新具有null的mysql表?

Laravel 5 如何使用laravel用一些数据更新具有null的mysql表?,laravel-5,Laravel 5,我有一张桌子叫休息。此表包含列[id、AttendanceId、开始、结束、中断时间、备注]。用户可以多次休息。因此,对于一个用户,该表可以有多个条目。例如:如果我休息三次,其中前两次是完全休息(即有开始和结束时间)。然而,最后一次休息时我把启动和直接从系统中删除。因此,当前表格将填充2个完整的中断和1个不完整的中断[备注将显示2个中断处于非活动状态,最后一个中断处于活动状态。]。现在,在注销时,我必须计算总工作时间。我计算所有中断时间的总和,然后将其从:[(登录时间-注销时间)-sum(中断表

我有一张桌子叫休息。此表包含列[id、AttendanceId、开始、结束、中断时间、备注]。用户可以多次休息。因此,对于一个用户,该表可以有多个条目。例如:如果我休息三次,其中前两次是完全休息(即有开始和结束时间)。然而,最后一次休息时我把启动和直接从系统中删除。因此,当前表格将填充2个完整的中断和1个不完整的中断[备注将显示2个中断处于非活动状态,最后一个中断处于活动状态。]。现在,在注销时,我必须计算总工作时间。我计算所有中断时间的总和,然后将其从:[(登录时间-注销时间)-sum(中断表中的所有完整中断时间)减少

目前,我的代码没有考虑最后一次中断,它只是将完整的中断和从总时间中扣除

因此,我尝试更新查找活动中断的上次中断结束时间。但我无法这样做。它给了我对null上的成员函数update()的调用,这确实是正确的

<>我如何更新空单元格,实际上是注销时间,这样我就可以考虑所有的时间来计算总的工作时间。

这是我的密码:

$OT=Carbon::now('Asia/Kolkata');
$getRemarks = TakeBreak::orderBy('Id', 'desc')->where('AttendanceId',Session::get('AttendanceId'))->first();
if ($getRemarks->Remarks == "Active"){
   DB::table('breaks')->orderBy('Id','desc')->where('Id', Session::get('AttendanceId'))->first()
                                       ->update(
                                            [
                                                'End' => date('H:i:s', mktime(0,$OT)),
                                                'Remarks' => "Inavtive"
                                            ])
                    }
您可以通过以下方式进行尝试:

TakeBreak::where('AttendanceId',Session::get('AttendanceId'))
        ->where('Remarks', 'Active')
        ->update(
            [
                'End' => $OT->format('H:i:s'),
                'Remarks' => "Inavtive"
            ]
        );


我删除了->first。现在它说mktime()期望参数2是长的,对象给定。
$getRemarks = TakeBreak::where('AttendanceId',Session::get('AttendanceId'))
            ->where('Remarks', 'Active')
            ->orderBy('Id', 'desc')
            ->first();

if ($getRemarks) {
    $getRemarks->update(
        [
            'End' => $OT->format('H:i:s'),
            'Remarks' => "Inavtive"
        ]
    );
}