Laravel和ChartJS - 试图计算数组

时间:2017-03-16 00:30:22

标签: mysql laravel group-by eloquent

我正在尝试从我的MySQL数据库创建一个图表,以便在Laravel中使用。

为了测试图表,我输入了一个像[1,2,3,4,5]这样的数组,它运行得很好。但是当我尝试从我的数据库中获取数据时,它无法正常工作。我有一个包含以下字段的数据库:

id  
project  
stage  
status  
timestamps

我想在图表中显示的是每个阶段的项目数量。所以阶段是:

Waiting to Start  
In Progress  
Waiting for Information  
Pre-Launch  
Launched

我的查询如下:

$total = Project::all()->groupBy('stage')->count('stage');

这不起作用。我已经尝试了几个其他查询,但不知道如何获得每个阶段的项目数量并将其输出到数组。另外,想要以特定顺序获取数据,这些数据不是按字母顺序排列的,或者任何东西都不能使用orderBy等。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

以这种方式尝试:

$total = Project::groupBy('stage')->get();

然后遍历每个阶段,并获得count()

答案 1 :(得分:-1)

经过多次试验和错误后,我决定将我的JS代码直接放在刀片文件中,而不是通过外部提供。

当我这样做时,

data: {{ $t }}

完美无缺。

我不确定为什么它直接在刀片文件中有效,但在我包含它时却不行。我确保它在jQuery之后加载,所以仍然不知道为什么。

有什么想法吗?

相关问题