2016-05-11 49 views
0

here my table and what i want to doSUM表5

SUM數據列總?例如我有兩個數據列合計1點45和2點25結果必須是4:10。我已經嘗試過,但是我的代碼只是將時間與分鐘相加。該怎麼辦?

在這裏我的控制器。對於總和

public function getMei() 
    { 
     $data['users'] = DB::table('lembur_karyawan') 
       ->select('nama', DB::raw('SUM(total) as total_lembur')) 
       ->groupBy('nama') 
       ->havingRaw('SUM(total)') 
       ->first(); 

     return view('mei_user', $data); 
    } 

和我的觀點:

<?php echo $users->{'total_lembur'} ?> 
+0

檢查這個問題http://stackoverflow.com/questions/3054123/calculate-a-sum-of-type-time-using-sql –

+0

將能解釋一下嗎? –

回答

0

使用

DB::raw('SEC_TO_TIME(SUM(TIME_TO_SEC(`timeSpent`))) as total_lembur') 

MySQL會自動將時間轉換爲幾小時,並且您必須通過TIME_TO_SEC或UNIX_TIMESTAMP顯式轉換值。

+0

owh oke謝謝,我們可以只顯示小時和分鐘嗎? 如果使用:TIME_TO_SEC其顯示小時數:分鐘:秒 –

+0

使用[carbon](http://carbon.nesbot.com/docs/)。例如。 Laravel使用它,當你應用'日期'增變器。 –

0
public function getMei() 
{ 
    $data['users'] = DB::table('lembur_karyawan') 
      ->selectRaw('SEC_TO_TIME(SUM(timeSpent)) as total_lembur') 
      ->groupBy('nama') 
      ->havingRaw('SUM(total)') 
      ->first(); 
    return view('mei_user', $data); 
}