我需要对一个集合的某一列进行排序。
我需要按照updated_at
字段,以'desc'
方式对当前已登录用户拥有的所有文章进行排序。
这是我的代码:
$posts = auth()->user()->posts->sortByDesc('updated_at');
这里是用户模型:
class User extends Authenticatable
{
public function posts()
{
return $this->hasMany(Post::class);
}
}
它没有返回任何错误,也没有排序!
任何帮助都将不胜感激。
P.S:
我知道可以使用以下方法来实现:
$posts = Post::where('user_id', auth()->user()->id)->orderBy('updated_at', 'desc')->get();
但我希望能够用集合做同样的事情。
->latest()
替代->sortByDesc('updated_at')
,它们是一样的。 - OnixMethod latest does not exist.
- Hamed KamravaIlluminate\Database\Query\Builder
。 - Onix$posts = auth()->user()->posts->sortBy(function($post){return $post->updated_at;})->reverse();
。这个应该可以工作。 - Autista_z