Not: Laravel FW. kullanıyorum. Örnek:

4
●128

return $category->with(['children' => function($query) {
$query->children()->get();
}])->get();dediginizde children/grandchildren ile beraber listelersiniz.public function children()
{
return $this->hasMany(Category::class, 'parent_id');
} /**
* @return HasMany
*/
public function childrenRelation(): HasMany
{
return $this->hasMany(Category::class, 'parent_id');
}
/**
* @return HasMany
*/
public function children()
{
return $this->childrenRelation()->with('children');
}Tüm alt kategorilerle beraber almak istediginizde:$categories = Category::with('children')
->where('parent_id', 0)
->get();istediginiz gibi json almak icin $categories degiskenini controller'dan return etmeniz yeterli.