У меня проблема с тем, что я пытаюсь получить всех потомков объекта и сохранить только тех, у кого есть указанное свойство c.
У меня есть следующие отношения:
public function getChildren()
{
return $this->hasMany(self::class, 'parent_id', 'id');
}
public function allChildren()
{
return $this->getChildren()->with('allChildren');
}
И я получаю массив этого типа, например:
$array = [
0 => ['name' => 'aaa', 'type' => 0, 'parent' => null, 'children' => [
1 => ['name' => 'bbb', 'type' => 1, 'parent' => null, 'children' => []],
2 => ['name' => 'ccc', 'type' => 0, 'parent' => null, 'children' => [
3 => ['name' => 'ddd', 'type' => 1, 'parent' => 2, 'children' => []]
]]
]],
4 => ['name' => 'eee', 'type' => 0, 'parent' => null, 'children' => []]
];
В этом примере я хотел бы удалить все объекты, которые имеют type 1
, и получить чистый массив без них.
Я не очень понимаю, почему можно получить все потомки объекта, но не в состоянии пройти условия.
Заранее спасибо.