$sdate = date("Y-m-d H:00:00",strtotime("-1 hour"));
$edate = date("Y-m-d H:00:00");
$device = DustDevice::
field("id,device_name,network_num")
->select()
->each(function ($item) use ($sdate, $edate) {
$now_data = DustCollection::where('device_id', $item['id'])
->whereBetween('collection_time', [$sdate, $edate])
->field("
DATE_FORMAT(collection_time,'%Y-%m-%d %H') hour,
CAST(AVG(pm_ten) AS DECIMAL(10,2)) AS pm_ten
")
->group('hour')
->find();
if ($now_data) {
$item['hour'] = $now_data['hour']." 00:00";
$item['pm_ten'] = $now_data['pm_ten'];
}else{
$item['hour'] = '';
$item['pm_ten'] = '';
}
});
得到的结果:
array(61) { [0] => array(5) { ["id"] => int(1) ["device_name"] => string(16) "东悦华府1号" ["network_num"] => string(18) "HSYCJK131125025001" ["hour"] => string(19) "2020-11-14 10 00:00" ["pm_ten"] => string(5) "20.00" } [1] => array(5) { ["id"] => int(2) ["device_name"] => string(16) "东悦华府2号" ["network_num"] => string(18) "HSYCJK131125025002" ["hour"] => string(19) "2020-11-14 10 00:00" ["pm_ten"] => string(5) "10.00" } [2] => array(5) { ["id"] => int(3) ["device_name"] => string(19) "溪岸怡景城1号" ["network_num"] => string(18) "HSYCJK131125026001" ["hour"] => string(0) "" ["pm_ten"] => string(0) "" } [3] => array(5) { ["id"] => int(4) ["device_name"] => string(19) "溪岸怡景城2号" ["network_num"] => string(18) "HSYCJK131125026002" ["hour"] => string(0) "" ["pm_ten"] => string(0) "" }
}