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

Alt*_*f D 2 php laravel eloquent laravel-5 laravel-5.1

下面是我的控制器代码

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

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

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

jed*_*ylo 7

您需要通过儿童而不是类别来申请.以下代码将解决这个问题:

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