Laravel雄辩ORM中的模型过滤结果

Laravel雄辩ORM中的模型过滤结果,orm,laravel,eloquent,Orm,Laravel,Eloquent,我正在用Laravel 4构建简单的论坛。我需要统计当前用户在给定主题上写的帖子 到目前为止,我所拥有的: $topic = Topic::find(1); $user = Auth::user(); echo $user->posts()->whereTopicId($topic->id); 这很好,但我不满意直接使用ID。是否可以使用关系以简洁的方式完成 我在找这样的东西: echo $user->posts()->whereTopic($topic); 这

我正在用Laravel 4构建简单的论坛。我需要统计当前用户在给定主题上写的帖子

到目前为止,我所拥有的:

$topic = Topic::find(1);
$user = Auth::user();
echo $user->posts()->whereTopicId($topic->id);
这很好,但我不满意直接使用ID。是否可以使用关系以简洁的方式完成

我在找这样的东西:

echo $user->posts()->whereTopic($topic);

这不起作用。

您可以通过在
Post
模型中使用来实现
$user->posts()->whereTopic($topic)

public function scopeTopic($query, $topic)
{
    return $query->where('topic_id', '=', $topic->id);
}