/** * Admin view */ public function index() { $initialCategories = Category::whereNull('parent_id')->with(['categories' => function ($query) { $query->orderBy('weight', 'desc')->orderBy('id'); }])->orderBy('weight', 'desc')->orderBy('id')->paginate(); $links = $initialCategories->links(); $result = new \Illuminate\Database\Eloquent\Collection(); $initialCategories->each(function ($category) use($result) { $result->push($category); $category->categories->each(function ($category) use($result) { $result->push($category); }); }); $result->load('parent'); // dd($result); return View::make('admin.dicts.list', ['title' => 'Категории', 'columns' => ['ID', 'Родитель', 'Вес', 'Заголовок', 'Описание', 'Под', 'Посты', 'Ком', 'посты', '', ''], 'data' => $result->transform(function ($category) use($links) { return ['id' => $category->id, 'parent_id' => $category->parent_id ? "{$category->parent->title} ({$category->parent_id})" : '', 'weight' => $category->weight . ' ' . link_to("admin/categories/{$category->id}/up", "↑") . ' ' . link_to("admin/categories/{$category->id}/down", "↓"), 'title' => $category->title, 'description' => $category->description, 'subscriptions' => $category->subscriptions_count, 'posts_count' => $category->posts_count, 'comments' => $category->comments_count, 'posts' => link_to("/admin/categories/{$category->id}/posts", 'посты →'), 'edit' => link_to("/admin/categories/{$category->id}/edit", 'редактировать'), 'delete' => link_to("/admin/categories/{$category->id}/delete", 'удалить')]; }), 'links' => $links, 'actions' => [['link' => '/admin/categories/create', 'text' => 'Добавить']]]); }