javascript - 如何将值从控制器传递到 JavaScript 图表
问题描述
我能够从我的数据库中获取每个月的损益值,并且我在下面展示了如何显示损益的响应。
我现在要做的是在下面的脚本中的图表中显示月份和它们各自的数字,用于盈亏?
我如何实现这一目标?
控制器
$profit= Account::selectRaw('month(date) as month, sum(amount) as amount')
->with(array('sector' => function($query){
$query->where('type','Income');
}))->whereHas('sector',function($query){
$query->where('type','Income');
})
->groupBy('month')
->get();
$loss= Account::selectRaw('month(date) as month,
sum(amount) as amount')
->with(array('sector' => function($query){
$query->where('type','Expence');
}))->whereHas('sector',function($query){
$query->where('type','Expence');
})
->groupBy('month')
->get();
return view(index, compact('profit','loss'))
对两个查询的响应
profit
{"key":["August","September"],"value":["71145.00","891.00"]}
loss
{"key":["August","September","October"],"value":["71145.00","891.00","900.00"]}
看法
<script>
$(function() {
"use strict";
var data = {
labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
series: [{
name: 'series-real',
data: [200, 289, 263, 278, 320, 450],
}, {
name: 'series-projection',
data: [240, 502, 360, 380, 505,],
}]
};
});
解决方案
你试过这个吗?
labels: {!! json_encode($profit[0]) !!},
series: [{
name: 'series-real',
data: {!! json_encode($profit[1]) !!},
}, {
name: 'series-projection',
data: {!! json_encode($loss[1]) !!},
}]
};
json_encode 将返回一个值的 JSON 表示,以便 js 可以使用它。
推荐阅读
- r - 使用 R 动画包含条形图和折线图
- lua - 如何修复 Roblox 无限收益错误?
- python - Django ElasticSearch 仅返回 10 个行集
- javascript - 我想通过循环或其他方式随机更改 Google Marker 位置
- c# - Asp.Net 使用引导模式弹出窗口插入
- deep-learning - Pytorch 中自定义 LSTM 模型的输出维度
- java - @RepositoryRestResource 不起作用 Spring boot 2.2.1.RELEASE。运行时发生错误 RegionRepository 必须只包含单个路径段
- json - 如何在 Swift 中支持数组(数组,字符串)的可变 JSON 字段?
- c++ - 在 C++ 中创建自定义比较器
- javascript - jQuery单选按钮Onchange不起作用