Orm 我如何在拉拉维尔建立关系?

Orm 我如何在拉拉维尔建立关系?,orm,laravel-5,Orm,Laravel 5,我在StackOverflow中看到了这个问题,但我无法回答,因为它被错误地标记为重复。但是$user->posts与posts::all()不同。那么,如果你有用户和帖子,你如何对帖子进行排序呢?Ya,回答我自己的问题只是为了帮助你。注意,作为var调用posts与作为方法调用posts是不同的。var解析为查询结果,方法解析为查询生成器 class User extends Model implements ... { public function posts(){

我在StackOverflow中看到了这个问题,但我无法回答,因为它被错误地标记为重复。但是$user->posts与posts::all()不同。那么,如果你有用户和帖子,你如何对帖子进行排序呢?

Ya,回答我自己的问题只是为了帮助你。注意,作为var调用posts与作为方法调用posts是不同的。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();
    }

}