Ich habe eine SQL-Abfrage:Aufruf zur DB Rückkehr unvollständige Daten
select count(*) AS revolutions, DATE_FORMAT(time, '%Y-%m-%d %H') as time_period from `raw_data` where `time` >= '2016-09-10 21:51:33' group by `time_period`
Dies gibt die folgenden Daten in einem MySQL-Client:
revolutions | time_period
630 | 2016-09-10 23
2062 | 2016-09-11 00
1839 | 2016-09-11 01
377 | 2016-09-11 02
83 | 2016-09-11 03
325 | 2016-09-11 04
In Laravel ich eine identische Abfrage zu erstellen, die ein Dump von wie folgt aussieht:
["sql"]=>
string(136) "select count(*) AS revolutions, DATE_FORMAT(time, '%Y-%m-%d %H') as time_period from `raw_data` where `time` >= ? group by `time_period`"
["bindings"]=>
array(1) {
[0]=>
string(19) "2016-09-10 22:02:02"
}
aber dies gibt den folgenden Satz von Daten:
[
{
"revolutions": 1863,
"time_period": "2016-09-10 22"
},
{
"revolutions": 1839,
"time_period": "2016-09-10 23"
},
{
"revolutions": 377,
"time_period": "2016-09-11 00"
},
{
"revolutions": 83,
"time_period": "2016-09-11 01"
},
{
"revolutions": 325,
"time_period": "2016-09-11 02"
}
]
Was könnte die fehlenden Daten auf 02 und die nicht vorhandenen Daten auf 03 und 04 verursachen?
Bearbeiten: Zeitzone wurde in Lumen nicht festgelegt.
Fix war eine Config-Wert auf den .env
DB_CONNECTION=mysql
DB_TIMEZONE=+02:00
diese zwei Datensätze sind ziemlich difirent – nogad
" Ich baue eine identische Abfrage "--- es sei denn, es ist nicht: Der Zeitparameter hat einen anderen Wert. – zerkms
@zerkms der Zeitparameter sollte dafür nicht wichtig sein. Als sowohl eingestellt, um Daten aus der Vergangenheit zu finden. –