0
私はforeachループをDRYする最良の方法を見つけようとしています。ノードをツリー配列に追加するには、子ノードがある場合のみ、ループが必要です。DRY foreachループと動的変数
$categories = Category::all();
$nodes = $categories->toTree();
$tree[] = [
'id' => null,
'name' => '--No Parent--'
];
foreach ($nodes as $node) {
$tree[] = [
'id' => $node->id,
'name' => $node->name
];
foreach ($node->children as $node2) {
$tree[] = [
'id' => $node2->id,
'name' => $node->name.' > '. $node2->name
];
}
}
これは私がforeachを繰り返すために必要なので、私にとってはうまくいかないでしょう。また、2番目のforeachに変数$ node2があることに気づくでしょう。 – user2675057
$ノードのように見えますか? var_dumpを実行しますか?あなたが望んでいるものを正確に理解することができません。ノード配列$の単純化されたバージョンを表示し、それを表示したいと思うものを理解するのに役立ちます。 – Stevish
$ nodes変数にはカテゴリモデルのコレクションが含まれています。コレクション{#795▼ #items:array:91 [▼ 0 =>カテゴリ{#798}} – user2675057