Я пытаюсь получить всех потомков Правлений и изменить их ID категории на основе запроса из представления. В настоящее время я выполняю несколько операторов foreach в моем контроллере, но мне бы хотелось, чтобы они были только одним оператором foreach.
Формат
Board 1
- Board 2
-- Board 3
--- Board 4
Вот моя модель:
public function children()
{
return $this->hasMany(Board::class, 'parent_id');
}
public function listChildren()
{
$sections = new Collection();
foreach($this->children as $section) {
$sections->push($section);
$sections = $sections->merge($section->listChildren());
}
return $sections;
}
Изображение того, как моя коллекция отформатирована выше:
И мой контроллер:
foreach($board->listChildren() as $cboard) {
foreach($cboard->listChildren() as $ccboard) {
$ccboard->category_id = request('category_id');
$ccboard->save();
}
$cboard->category_id = request('category_id');
$cboard->save();
}
Как бы я go сделал это? Спасибо за вашу помощь!