Laravel Eloquent - 相当于第一个()?

Sta*_*wed 3 php laravel eloquent

我有一些模型,如用户,发布,评论等.

在用户中,我有:

public function posts() 
{
   return $this->hasMany('Post'); 
}
Run Code Online (Sandbox Code Playgroud)

我可以获得第一篇文章$customer->posts()->first(),但是如果我想获得最新帖子怎么办?我看不到最后一个().

hasManyThrough关系进一步加剧了这种情况(遗憾的是我们继承了一个古怪的模式):

public function comments() 
{
     return $this->hasManyThrough('Comment', 'Post');
}
Run Code Online (Sandbox Code Playgroud)

如果我尝试做一个$this->comments()->orderBy('comments.id', 'desc')->first();它返回一个User对象?

Jar*_*zyk 9

没有这个

// User model
$this->comments()->orderBy('comments.id', 'desc')->first();
Run Code Online (Sandbox Code Playgroud)

不会回归User模特.

为了得到你所要求的,只需这样做:

$customer->posts()->latest()->first();
Run Code Online (Sandbox Code Playgroud)