【发布时间】:2015-09-30 01:32:03
【问题描述】:
我正在使用 laravel 5.1 进行 CMS 开发。我有一个简单的帖子结构,用户和用户可以喜欢帖子。
帖子和用户具有多对多关系,并使用数据透视表进行关系。
帖子模型有
public function likedby()
{
return $this->belongsToMany('App\Models\User','user_like_post')
->withTimestamps();
}
用户模型有
public function likes(){
return $this->belongsToMany('App\Models\Post','user_like_post')
->withTimestamps();
}
我想列出用户的最新活动。例如
- Username1 喜欢 Post2
- Username5 点赞 Post9
- Username30 点赞 Post25
我知道我必须写一个这样的 sql 查询 -
mysql > select users.name, posts.heading from user_like_post as ulp
> join users on ulp.user_id=users.id
> join posts on ulp.post_id=posts.id
> order by ulp.created_at desc limit 10;
上面的查询工作正常,但是有没有办法使用 laravel eloquent 做到这一点?
【问题讨论】:
标签: laravel eloquent laravel-5