【发布时间】:2015-12-04 19:43:40
【问题描述】:
我正在尝试从 MySQL 结果创建一个多维数组。这是一种父子关系。像这样。
$navArr = array();
$pageNav = Page::where('parent_id', 0)->orderBy('nav_order', 'asc')->get();
foreach($pageNav as $parent) {
$navArr[$parent->page_id] = $parent;
pageNavChildren = Page::where('parent_id', $parent->page_id)->orderBy('nav_order', 'asc')->get();
if($pageNavChildren) {
foreach($pageNavChildren as $child) {
$navArr[$parent->page_id]['childrens'] = array($child->page_id => $child);
}
}
}
它给了我一个数组,但数组中只有最后一个孩子。我的猜测是它在循环中被覆盖了。我需要一个包含所有父母的数组,然后如果父母有一个孩子设置 children 键,并且在其中我需要该键下的每个子数组。
【问题讨论】:
标签: php mysql laravel multidimensional-array laravel-5