如何在 Laravel 中订购关系?
Posted
技术标签:
【中文标题】如何在 Laravel 中订购关系?【英文标题】:How do I order a relationship in Laravel? 【发布时间】:2016-01-24 02:49:48 【问题描述】:我在 *** 中看到了这个问题,但我无法回答,因为它被错误地标记为重复。但是 $user->posts 与 Posts::all() 不同。那么如果你有 User 和 Post,你如何对帖子进行排序呢?
【问题讨论】:
【参考方案1】:是的,回答我自己的问题只是为了提供帮助。请注意,将帖子作为 var 调用不同于将帖子作为方法调用。 var 解析为查询结果,方法解析为查询构建器。
class User extends Model implements ...
public function posts()
return $this->hasMany('App\Post');
/*
/**
* $this->posts is already a collection after query
*/
public function recentPosts($limit = 5)
return $this->posts
->sortByDesc(function ($post)
return $post->created_at;
)->take($limit);
/**
* $this->posts() is the query builder
*/
public function latestPosts($limit = 5)
return $this->posts()
->orderBy('created_at', 'desc')
->limit($limit)
->get();
【讨论】:
以上是关于如何在 Laravel 中订购关系?的主要内容,如果未能解决你的问题,请参考以下文章