将子集合复制到父级

时间:2015-02-06 00:12:23

标签: arrays laravel laravel-4

我一直在试图找出实现这一目标的最佳方法!基本上,我在层次结构中有三个模型:

Document->hasMany('Page')
Page->belongsTo('Document')->hasMany('Item')
Item->belongsTo('Page')

我的目标是通过主模型上的查询收集所有相关实例:

$layout = Document::with('Page.Item')->where('status', '=', 1)->get();

这将返回一个文档集合,其中包含多个嵌套的页面集合,每个集合都具有嵌套的项集合。当我跑到Array()时,我基本上得到了:

array(
  [0]array(
    [document-title]
    [pages]array(
      [page-subject]
      [items]array(
        [item-content]
))))

我想将其转换为:

array(
  [0]array(
    [item-content]
    [pages-subject]
    [document-title]
))

我一直在使用几个foreach循环:

foreach($document as $d){
  foreach($d['pages'] as $p{
    $pStuff = array($p['subject']);
    foreach($p['items'] as $i{
      $iStuff = array($i['content']);
      $input = array_merge($iStuff, $pStuff);
      $data[] = $input;
}}}

这似乎创建了我想要的数组,但我想知道是否有一种更简单的方法,无论是查询模型还是处理集合。

任何帮助将不胜感激,谢谢! -JB

0 个答案:

没有答案