下面是我的 Controller 代码
$categories = Category::where('parentId', '=', 0)
->with('children')
->orderBy('name', 'asc')
->get();
return view('home', compact('categories'));
当我在 View 中访问我的类别及其子类别时,类别似乎是按名称排序的,但子类别不是。如何按名称对子类别进行排序?
此外,是否可以使用与子项不同的标准对类别进行排序,例如。按类别的位置和子项的名称。如果是,如何?
最佳答案
您需要对子项而不是类别应用order by。以下代码可以解决问题:
$categories = Category::whereParentId(0)
->with(['children' => function($query) {
$query->orderBy('name', 'asc');
}])
->get();
关于php - 在 Laravel : How do I sort children by name? 中对 child 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34299906/