tp5语法 group by 和count(*)连用

like 表
字段
id
typeid 文章id
userid 用户id
status 赞状态 1:已点赞 0:未点赞

想知道某文章id为1,2,3,4的总赞数,不知道怎么用tp5写
原生sql="select typeid,count(*) from like where typeid in (1,2,3,4) and user_id = 14 and status =1 group by typeid";

tp5只知道这么写
$ids= '1,2,3,4';
LikeModel::where('typeid','in',$ids)->where(['user_id'=>14,'status'=>1)->group('typeid')->select();

没有用上count(*)

我想实现
typeid count(*)
1 1
2 2
3 2
4 1

阅读 5.7k
1 个回答

其实这个要用到filed这个方法,例子

LikeModel::where('typedid','in',$ids)
    ->where(['user_id'=>14,'status'=>1])
    ->filed('typeid,COUNT(*) as total')
    ->group('typeid')
    ->select();

没有太过于去查看,大概就这个意思

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题