在Laravel中对孩子进行排序:我如何按名字对孩子进行排序?

时间:2015-12-15 21:39:35

标签: php laravel laravel-5 eloquent laravel-5.1

以下是我的控制器代码

$categories = Category::where('parentId', '=', 0)
                                ->with('children')
                                ->orderBy('name', 'asc')
                                ->get();    
return view('home', compact('categories'));

当我在视图中访问我的类别及其子项时,类别似乎按名称排序,但子类别不是。如何按名称对子类别进行排序?

此外,是否可以使用与儿童不同的标准对类别进行排序,例如。按类别和儿童姓名的位置。如果是,怎么样?

1 个答案:

答案 0 :(得分:7)

您需要对儿童而不是类别应用排序。以下代码将起到作用:

$categories = Category::whereParentId(0)
  ->with(['children' => function($query) {
    $query->orderBy('name', 'asc')
  })
  ->get();