我已经使用Cakephp 3创建了一个自定义表单构建器模块,并将所有表单数据保存在内容表中。现在我想创建一个包含基于form_id的所有内容的数组。
我的数据库中的我的内容表是这样的:
ID | form_id | content
-- | ------- | ------
1 | 1 | lorum
2 | 1 | lorum
3 | 2 | lorum
4 | 2 | lorum
我想创建一个像:
这样的数组Array(
Array(form_id => 1,
Array(content => lorum, content => lorum)
)
Array(form_id => 2,
Array(content => lorum, content => lorum)
)
)
答案 0 :(得分:1)
该数组看起来无效。鉴于您之前的表格示例,我认为您正在寻找类似于以下的结构:
[
1 => [
['content' => 'lorum'],
['content' => 'lorum']
],
2 => [
['content' => 'lorum'],
['content' => 'lorum']
]
]
其中1
和2
是form_id
值。这就是Collection::groupBy()
可以轻松生成的内容,唯一的区别是嵌套集还包含form_id
之外的content
键。
$grouped = $query->groupBy('form_id');