我尝试根据每日,每月,每半年和每年从我的数据库中检索数据,然后将其传递到我的图表(视图)。我使用的是Highcharts,请参阅:www.highcharts.com。我的问题是如何分组/计算用户名总数" is_approved = 1"。只有被批准的人才会被计算在内并将结果传递给我的观点/图表。
这是我的表格: Walker
+------------------+------------------------------------+------+-----+----------
-----------+----------------+
| Field | Type | Null | Key | Default
| Extra |
+------------------+------------------------------------+------+-----+----------
-----------+----------------+
| id | int(10) unsigned | NO | PRI | NULL
| auto_increment |
| first_name | varchar(255) | NO | MUL | NULL
| |
| address | varchar(255) | NO | | NULL
| |
| created_at | timestamp | NO | | 0000-00-0
0 00:00:00 | |
| |
| is_approved | int(11) | NO | | NULL
| |
+------------------+------------------------------------+------+-----+----------
到目前为止,我已经做了什么,但我不知道如何按日,按月,半年,年度编码。
这是我的控制器代码: AdminController.php
$walkers_cnt = Walker::where('is_approved','=','1')->count();
return View::make('dashboard')
->with('title', $title)
->with('page', 'dashboard')
->with('walkers_cnt', $walkers_cnt)
在我的观点中,通过使用高图代码,我想从我的数据库中呈现这些查询数据(每日,每月,每半年,每年),并通过标签进行渲染。
这是我的观看代码: dashboard.blade.php
<script src="http://code.highcharts.com/highcharts.js"></script>
Highcharts.chart('container', {
chart: {
type: 'column'
},
title: {
text: ''
},
subtitle: {
text: 'Monthly App Users'
},
xAxis: {
categories: [
'Jan',
'Feb',
'Mar',
'Apr',
'May',
'Jun',
'Jul',
'Aug',
'Sep',
'Oct',
'Nov',
'Dec'
],
crosshair: true
},
yAxis: {
min: 0,
title: {
text: 'Total number of Drivers/Users'
}
},
tooltip: {
headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
'<td style="padding:0"><b>{point.y}</b></td></tr>',
footerFormat: '</table>',
shared: true,
useHTML: true
},
plotOptions: {
column: {
pointPadding: 0.2,
borderWidth: 0
}
},
series: [{
name: 'Drivers',
data: [49, 71, 106, 129, 144, 176, 135, 148, 216, 194, 95, 54]
}, {
name: 'Users',
data: [83, 78, 98, 9, 106, 84, 105, 104, 91, 83, 106, 92]
}]
});
});
<div id="container" style="height: 300px"></div>
希望你可以帮助我解决这个问题,我不知道如何以最简单的方式做到这一点。提前致谢。 :(