从以下Laravel Eloquent获取帖子

时间:2014-03-17 02:21:50

标签: php laravel laravel-4 eloquent

我正在建立一个社交网络,用户将拥有一个像Twitter的流,来自他们所关注的人的所有帖子。

使用Laravel Eloquent查询此内容的最佳方式是什么?

我有3张桌子

的用户

id | username | etc...|

的关系

id | user_id |follows_id |

的帖子

id | user_id | post|

1 个答案:

答案 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();