【问题标题】:Sorting Children in Laravel : How do I sort children by name?在 Laravel 中对孩子进行排序:如何按名称对孩子进行排序?
【发布时间】:2015-12-15 21:39:35
【问题描述】:

下面是我的控制器代码

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

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

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

【问题讨论】:

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


    【解决方案1】:

    您需要将 order by 应用于子项,而不是类别。以下代码可以解决问题:

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-19
    • 2014-03-20
    • 2017-06-26
    • 2018-03-22
    • 2018-10-11
    • 2017-11-07
    相关资源
    最近更新 更多