查询中的laravel虚拟字段/列?

时间:2014-03-03 10:34:37

标签: laravel laravel-4

我有问题,我有2个表(帖子,评论),我想选择所有帖子+他们的评论数量。 我可以在帖子中创建一个列“评论”并在那里写入计数器,但我认为这是一个糟糕的解决方案,所以我在mysql中寻找像虚拟字段/列这样的东西来获取帖子查询中的评论数量。 我可以在Laravel中这样做吗?

1 个答案:

答案 0 :(得分:1)

Comment模型中:

public function post(){
    return $this->belongsTo('Post', 'post_id');
}

Post模型中:

public function comments(){
    return $this->hasMany('Comment', 'post_id');
}

在您的控制器中,获取包含所有评论的帖子。

$post = Post::with('comments')->find(1);

在您的视图中,显示帖子及其所拥有的评论数量。假设您的帖子有title字段。

Post Title: {{ $post->title }}
The post has {{ $post->comments->count() }} comments