php - Laravel - 如何按键分组数据并保存到数组?
问题描述
我有表属性值(id,值,attr_group_id)。
我需要返回按键 attr_group_id 分组的集合。
在使用 ORM RedBean 的清晰 php 中,我做了:
$data = \DB::table('attribute_values')->get();
$attrs = [];
foreach ($data as $k => $v){
$attrs [$v['attr_group_id']][$k] = $v['value'];
}
return $attrs;
在这个之后,我需要同样使用 Laravel:
$data = \DB::table('attribute_values')->get();
我的桌子
id value attr_group_id
1 one 1
2 two 1
3 three 2
4 four 2
5 five 3
6 six 3
我需要结果
Array(
[1] => Array
(
[1] => one
[2] => two
)
[2] => Array
(
[3] => three
[4] => four
)
[3] => Array
(
[5] => five
[6] => six
)
)
解决方案
获取所有数据,并将其映射到每一行的属性 id 将起作用,
$data = \DB::table('attribute_values')->get();
$attrs = [];
foreach ($data as $key => $value) {
// -> as it return std object
$attrs[$value->attr_group_id][] = $value->value;
}
dd($attrs);
推荐阅读
- featuretools - 使用 featuretool,如何单独使用 dfs 原语?
- java - kinesis 分析 flink 写入 parquet 文件
- java - java.sql.SQLException:关闭结果集:下一个
- list - 如何对列表进行排序
在 Dart 中以空对象结尾 - functional-programming - 如何将 Lisp/Scheme/Racket 符号放在末尾?
- azure - 如何在 Istio 中配置 Azure 应用网关
- python - 执行通常包含 '\;' 的 tmux 命令 使用 subprocess.run
- gcc - cmake - 预处理整个项目并将输出存储在文件中
- button - 按钮在可排序中无法正常工作
- c++ - 我使用 OpenMP 的线程越多,执行时间就越长,这是怎么回事?