arrays - 在 Laravel 6 中将结果查询到数组中
问题描述
我的数据库中有这个结果:
year column1 column2
2018 11 7
2019 24 12
2020 15 13
我想把结果放在这样的数组中:
['2018','2019','2020']
[11, 24, 15 ]
[7, 12, 13]
我需要制作一个堆积条形图,我正在使用charts.js:
$chart01 = new BarChart;
$chart01 ->type('bar')
->labels(['2018','2019','2020']);
$chart01->dataset('Column1', 'bar', [11,24,15])
->options(['backgroundColor' => ['#58D3F7','#58D3F7','#58D3F7']]);
$chart01->dataset('Column2', 'bar', [7,12,13])
->options(['backgroundColor' => ['#5882FA','#5882FA','#5882FA']]);
$options = [];
$options['scales'] = [ 'xAxes' => [ ['stacked' => true] ], 'yAxes' => [ ['stacked' => true] ] ];
$chart01->options($options);
任何想法?谢谢!
解决方案
您可以使用该pluck
方法来实现您想要的。
例如:
$models = App\Model::all()
$models->pluck('year')->toArray(); // [2018, 2019, 2020]
$models->pluck('column1')->toArray(); // [11, 24, 15]
$models->pluck('column2')->toArray(); // [7, 12, 13]
您可以在此处阅读更多信息pluck
:https ://laravel.com/docs/6.x/collections#method-pluck
推荐阅读
- python - 从字典的每个键中随机采样一个元素
- c# - 如何转换 GetEnumerator()?
- google-cloud-platform - 在云控制台中运行 kubernetes 命令返回超时
- javascript - 在 Mongoose (JavaScript) 中检查是否有任何符合特定条件的文档
- vue.js - 在 vuejs 的伊斯坦布尔、摩卡和 vue-test-utils 的覆盖范围内找不到 .vue 文件
- mysql - MYSQL 触发器 - 使用 WHERE 条件更新特定行
- r - 如果满足条件,R 在 DF 上按行应用函数
- linux - 如何使用自定义命令在 PM2 中启动进程
- mongodb - 如何删除不知道其父 ID 的猫鼬数组项?
- r - 如何使函数参数成为R中向量的元素?