我有一张桌子
'new_comments'
带有字段
id,user_id,
title,
comment_description
我还有一个名为
的表 'comments_upvote'
具有
field user_id,
post_id,
likes
id和comments_upvote表的post_id相同。我们必须接受最喜欢的评论。我们如何获取数据。
$ud = Comments_upvote::select('post_id')->groupby('post_id')-
>orderby(DB::raw('count(likes)'), 'desc')->get();
$postid = array();
foreach ($ud as $key => $value) {
$postid[] = $value->post_id;
}
$data = DB::table('new_comments')->whereIn('id',$postid)->get();
但是问题是我必须计算值= 1的所有点赞次数,我们该怎么做。
答案 0 :(得分:0)
如果您向我们展示了一些代码,您将得到一个更具体的答案,但这是您需要的简要概述:定义关系(确保使用自定义外键),使用whereHas,按post_id计数分组,并按降序排序。
所以我猜您至少有两个模型NewComment和CommentUpvote(应该)。在NewComment中,定义1:n关系:
const ImageScreen = () => {
return (
<View>
<ImageDetail />
<ImageDetail />
<ImageDetail />
<ImageDetail />
</View>
);
};
然后在您的控制器中(再次猜测,因为您没有显示任何代码):
public function upvotes(){
$this->hasMany('App\CommentUpvote', 'post_id');
}
免责声明:这是未经测试的,超出了我的头脑,但应该以正确的方向对您不利。