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

发布于 2022-09-06 23:28:33 字数 512 浏览 16 评论 0

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

人事已非 2022-09-13 23:28:33

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

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文