我需要像这样的json,使用过去30天的日期:
{ name: 'Manoel',
data: [1124, 1315, 1187, 1266, 1400, 16 , 111, 132, 1110, 1235, 1369, 1640,
1005, 1436, 2063, 3057, 4618, 6444, 9822, 1468, 2434, 2126]
}, {
name: 'Joaquim',
data: [1322, 1270, 1266, 1800, 1121,1300, 1200 , 1744 , 1321 ,1244,
5, 2225, 1350, 2120, 2150, 200, 426, 660, 869, 1060, 1605, 2471, 3322]
}
我现在正在尝试这个:
$arr = $this->User->find('all', array('conditions' => array('nivel' => 'admin'))); // fetch the array
$arr1 = array();
$porDia = array();
foreach ($arr as $value) {
$tmp = array();
$datas = array();
$tmp['name'] = $value['User']['nome'];
for ($i=30; $i > 0; $i--) {
$inicioDia = date('Y-m-d 00:00:00', strtotime('today - '. $i .' days'));
$fimDia = date('Y-m-d 23:59:59', strtotime('today - '. $i .' days'));
$solDia = $this->Solicitation->find('count', array('conditions' => array('responsavel' => $value['User']['id'], 'data_respostajur >=' => $inicioDia, 'data_respostajur <=' => $fimDia)));
$datas[] = $solDia;
}
$tmp['data'] = $datas;
$arr1[] = $tmp;
}
$json = json_encode($arr1);
但我不知道还有更多其他尝试,我如何得到这种类型的json?
答案 0 :(得分:0)
你设置
$arr1 = array()
每个foreach循环,你应该使用
得到最后的json表示$json = json_encode($arr1)
最后。
并改变
$tmp['data'] = $porDia[];
到
$tmp['data'] = $porDia;