Cakephp 3.x创建类似于数据集合的东西来填充表格行

时间:2017-04-20 14:32:26

标签: cakephp cakephp-3.0

我已经使用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)
   )
)

1 个答案:

答案 0 :(得分:1)

该数组看起来无效。鉴于您之前的表格示例,我认为您正在寻找类似于以下的结构:

[
    1 => [
        ['content' => 'lorum'],
        ['content' => 'lorum']
    ],
    2 => [
        ['content' => 'lorum'],
        ['content' => 'lorum']
    ]
]

其中12form_id值。这就是Collection::groupBy()可以轻松生成的内容,唯一的区别是嵌套集还包含form_id之外的content键。

$grouped = $query->groupBy('form_id');

另请参阅 Cookbook > Collections > Collection::groupBy()