Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Laravel中创建莫里斯图表_Php_Mysql_Laravel - Fatal编程技术网

Php 在Laravel中创建莫里斯图表

Php 在Laravel中创建莫里斯图表,php,mysql,laravel,Php,Mysql,Laravel,所以,在一些教程之后,我能够建立一个莫里斯图表,这就是我到目前为止得出的结论 $range = \Carbon\Carbon::now()->subDays(30); $stats = DB::table('tickets') ->where('created_at', '>=', $range) ->groupBy('date') ->orderBy('date', 'ASC') ->get(

所以,在一些教程之后,我能够建立一个莫里斯图表,这就是我到目前为止得出的结论

$range = \Carbon\Carbon::now()->subDays(30);

$stats = DB::table('tickets')
        ->where('created_at', '>=', $range)
        ->groupBy('date')
        ->orderBy('date', 'ASC')
        ->get([
            DB::raw('Date(created_at) as date'),
            DB::raw('COUNT(*) as value')
        ])
        ->toJSON();
输出

"[{"date":"2018-11-10","value":1},{"date":"2018-11-11","value":1}]"
问题是,我正试图通过几个月而不是每天获得结果

js代码

Morris.Area({
            element: 'morris-area-chart'
            , data: data
            , xkey: 'date'
            , ykeys: ['status']
        });
票务表

id|phone_model |cus_name |issue |notes |created_at |updated_at |status
预期产出

[{"date":"11","tickets":2,"status":1},{"date":"11","tickets":1,"status":2}, 
{"date":"10","tickets":3,"status":1},{"date":"10","tickets":1,"status":3},]
我尝试了更多的方法来获得基于月份和票证状态的结果,但没有运气
感谢您的帮助。

您可以使用此查询:

$result_arr = \DB::select("SELECT DATE_FORMAT(created_at, '%m') date, status, COUNT(*) count FROM tickets GROUP BY date, status ORDER BY date DESC");
return collect($result_arr)->toJson();
例如,它输出这样一个结果(输出在mysql控制台中):

+----+----+
|日期|状态|计数|
+------+--------+-------+  
| 12   |      1 |     1 |  
| 12   |      2 |     3 |  
| 12   |      4 |     1 |  
| 12   |     10 |     7 |  
| 11   |      1 |     1 |  
| 11   |      2 |     1 |  
| 11   |      4 |     1 |  
| 10   |      1 |     3 |  
| 10   |      2 |     2 |  
| 10   |      3 |     1 |  
| 10   |      4 |     2 |  
| 09   |      1 |     2 |  
| 09   |      2 |     7 |  
| 09   |      3 |     5 |  
| 08   |      1 |     1 |  
| 08   |      2 |     1 |  
| 08   |     12 |     1 |  
| 07   |      1 |     4 |  
| 06   |      1 |     1 |  
| 06   |      2 |    12 |  
| 06   |      3 |     2 |  
| 05   |      1 |     1 |  
| 05   |      2 |     8 |  
| 05   |     11 |     1 |  
| 04   |      1 |     2 |  
| 04   |      2 |     8 |  
| 04   |     10 |     1 |  
| 03   |      1 |     2 |  
| 02   |      1 |     2 |  
| 02   |      2 |    26 |  
| 02   |      3 |     1 |  
| 02   |     11 |     2 |  
| 02   |     12 |     1 |  
| 01   |      2 |    21 |  
| 01   |      3 |     8 |  
| 01   |     10 |     6 |  
+------+--------+-------+  

集合中有36行(0.00秒)
如果您想按月份显示,那么您可能应该在输出中输入月份名称,而不是整个日期。