2017-05-24 16 views
0

私は過去24時間、48時間、1週間、2週間のチャートを作成しています。MySQL - インターバル24時間が期待通りに機能しない

私はこの目的のためにINTERVALステートメントを使用しましたが、期待通りに動作しません。私はLaravelを使用しています。ここでは、データを抽出する機能は次のとおりです。ここで

public function range($range) 
{ 
    $data = new Main(); 
    $data0 = $data->whereRaw('updated_at >= DATE_SUB(NOW(), INTERVAL '.$range.')')->whereRaw('MINUTE(updated_at)>54')->orwhereRaw('MINUTE(updated_at)<6')->where('server_short_name', '=', 'FiveRP')->get(); 
    $data1 = $data->whereRaw('updated_at >= DATE_SUB(NOW(), INTERVAL '.$range.')')->whereRaw('MINUTE(updated_at)>54')->orwhereRaw('MINUTE(updated_at)<6')->where('server_short_name', '=', 'GTALife')->get(); 
    $data2 = $data->whereRaw('updated_at >= DATE_SUB(NOW(), INTERVAL '.$range.')')->whereRaw('MINUTE(updated_at)>54')->orwhereRaw('MINUTE(updated_at)<6')->where('server_short_name', '=', 'GermanV')->get(); 
    return compact('data0', 'data1', 'data2'); 
} 

は、ビューを呼び出す関数は次のとおりです。

public function hours24() 
{ 
    $t = $this::range('24 HOUR'); 
    return view('chart', $t); 
} 

しかしチャートで、私があるだけでなく、月の22日からの結果を取得していますDBの最も早い日付。つまり、私の言うとおり、コードは期待通りに動作していません。私が欠けているものはありますか?

答えて

0

解決策が見つかりました。実際に私のコードでは、私は 'orwhereRaw'を使用しています。つまり、悲しいことに、私が欲しいものではないすべてのwhereステートメント間のORを意味しています。

関連する問題