1
我想从MySQL结果创建一个多维数组。这是一个父母的孩子关系。像这样的东西。使用Laravel 5创建来自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);
}
}
}
它给了我一个数组,但数组只有最后一个孩子。我的猜测是它越过了写在循环中。我需要一个包含所有父项的数组,然后如果父项有一个子项设置了子项,并且在它内部,我需要每个子项数组在这个项下。
嗨@ aldrin27我试过,但有以下错误。间接修改App \ Page的重载元素不起作用 – Scott
你可以print_r($ pageNav);'? – aldrin27
我发布了我得到的错误。我无法打印数组,因为使用Laravel它发布了大量隐藏的字段,由于字符限制,我甚至无法将其复制并粘贴到此处,但我确实发布了上面收到的错误。 – Scott