如何自定排序Laravel Collection或Model?

时间:2017-11-12 14:40:33

标签: php laravel sorting collections laravel-eloquent

我有一个如下的集合:

[
 user => [
       orders => [
          [1, product1, qty, Pending], //Pending is status
          [2, product2, qty, Processing],
          [3, product3, qty, Shipping],
          [4, product1, qty, Delivered],
          [5, product2, qty, Rejected],
       ],
      comments => [...],
      ...
    ]
]

现在我可以获得订单了按$user->orders->sortBy('status')$user->orders->sortByDesc('status')

排序

如果我使用sortBy()排序,则首先将已下达的订单放在首位如果使用sortByDesc()排序,请先运送货物。

但我希望按处理,发货,已交付,已拒绝,待处理

排序(状态)

按此顺序,我该怎么做(以最有效的Laravelish方式)?

使用User::orderBy('...')->find($id)检索集合时同样适用 在这种情况下我如何进行自定义排序?

0 个答案:

没有答案