重要情報を調整する:は、ユーザのタイムゾーンのためのアレイ出力知る
- 桁としてオフセット
データベースを格納するユーザのタイムゾーン(例:ESTに、ユーザが値を持つタイムゾーンの列があり-4"
サーバーの時間が、私はそれを表示することを希望して平日や時間によってグループ化されたデータを集計して、クエリを返す午前UTC
でありますヒートマップ上で
これまでのところこれが私の持っているものです。いくつかの例に
$timezone = Auth::user()->timezone;
$week_data = DB::select('SELECT COUNT(id) as total, WEEKDAY(created_at) AS week_day ,HOUR(created_at) as hours
FROM messages
GROUP BY week_day, hours');
:この例では
は、「WEEK_DAYは」 と時間が数値表現である曜日(0 =月曜日、6 =日)の数値表現でありますUTC IN(24時間形式)一日の時間の現在
、11PM でweek_day-> 2とhours-> 23件の手段を持つオブジェクト水曜日の
クエリ結果を取得した後、私は私が配列さを調整することができる方法を見つけようとしています、
今foreach ($week_data as $data)
{
if ($data->week_day == 0)
{
$new_array['Monday'][$data->hours] = $data;
}
elseif ($data->week_day == 1)
{
$new_array['Tuesday'][$data->hours] = $data;
}elseif ($data->week_day == 2)
{
$new_array['Wednesday'][$data->hours] = $data;
} elseif ($data->week_day == 3)
{
$new_array['Thursday'][$data->hours] = $data;
}
elseif ($data->week_day == 4)
{
$new_array['Friday'][$data->hours] = $data;
}
elseif ($data->week_day == 5)
{
$new_array['Saturday'][$data->hours] = $data;
}
elseif ($data->week_day == 6)
{
$new_array['Sunday'][$data->hours] = $data;
}
}
(図示せず)の$ new_arrayは、私が以前にインスタンス変数であるforeachループを使用してデータを分離データは、ユーザーのタイムゾーンのオフセットを反映します。したがって、スイッチのケースでforeachループに達する前に、情報を何らかの方法で処理する必要があります。誰もこの問題を以前に扱ったことがありますか?ありがとう!この例では、私はこれらの変数を使用します