在 laravel 5.5 中的字符串上调用成员函数 format()

Call to a member function format() on string in laravel 5.5

我正在尝试获取特定用户的总出席时间。在该方法中,我得到了总结果,但是,现在的问题是格式化持续时间。我正在尝试这样,但是出现了上面的错误。请有人帮助我- 这是方法 -

public function index(Request $request)
{
  $id = Auth::id();
  $total_duration = DB::table('attendances')
                    ->select('duration')
                    ->where('teacher_id', '=', $id)
                    ->sum('duration');
  return view('teachers.attendance.index', compact('teacher', 'attendances', 'att_id', 'total_duration'));
 }

而在我的 index.blade.php 中是 -

<tr>
  <td colspan="4">Total</td>
  <td>
       {{ $total_duration->format('H:i:s') }}
  </td>
</tr>

您的 $total_duration return 是一个字符串,因此您不能对其调用函数。如果您想更改日期字符串的格式。你可以试试。

更新:完整代码为:

$total_duration = DB::table('attendances')->selectRaw('SEC_TO_TIME( SUM( 
TIME_TO_SEC( `duration` ) ) ) as total')->first(); 

$total_duraion->总计就是您需要的值