我正在建立一个社交网络,用户将拥有一个像Twitter的流,来自他们所关注的人的所有帖子。
使用Laravel Eloquent查询此内容的最佳方式是什么?
我有3张桌子
id | username | etc...|
id | user_id |follows_id |
id | user_id | post|
答案 0 :(得分:0)
您可以尝试这样的事情(基本理念):
用户
id | username | etc...
帖子
id | user_id | post_content
收藏夹(关系)
id | user_id |post_id
定义Post类,如下所示:
class Post extends Eloquent {
//...
public function favorites()
{
return $this->hasMany('Favorite');
}
}
定义最喜欢的课程:
class Favorite extends Eloquent {
// ...
}
查询帖子:
$posts = Post::whereHas('favorites', function($q) {
$q->where('user_id', Auth::user()->id);
})->get();