我已经能够使用以下原始sql获取我需要的查询结果:

select `person`.`id`, `full_name`, count(actions.user_id) as total

from `persons`

left join `actions`

on `actions`.`person_id` = `persons`.`id`

and `actions`.`user_id` = $user

where `type` = 'mp'

group by `persons`.`id`

但我还没有能够以雄辩的方式开展工作.

根据一些类似的答案,我尝试了 – > where()或leftJoin()中的函数,但是每个人的操作的计数还没有被$user过滤.目前的情况:

$query = Person::leftJoin('actions', function($q) use ($user)

{

$q->on('actions.person_id', 'persons.id')

->where('actions.user_id', $user);

})

->groupBy('persons.id')

->where('type', 'foo')

//->where('actions.user_id', '=', $user)

->get(['persons.id', 'full_name', DB::raw('count(actions.id) as total')]);

我至少朝着正确的方向前进,对吧……?

如果相关,Persons.php模型有两个动作关系:

public function actions()

{

return $this->hasMany('Action');

}

public function actionsUser($id)

{

return $this->hasMany('Action')->where('user_id', $id);

}

mysql on后加and_mysql加入ON和AND to laravel eloquent相关推荐

  1. mysql如何编写先加后乘_“先乘后加”

    阿姨给我分享朋友圈中一篇文:印度人背乘法口诀是背到19*19的.里面还有以1为十位数的两个乘数相乘的简便公式,我有些不足为奇. 忘了在五六年级还是初中时,也不知道是在什么情况下,就好像它们会自动生成一 ...

  2. delete后加 limit是个好习惯么 !

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者:_陈哈哈 https://blog.csdn.net ...

  3. delete后加 limit是个好习惯么 ?

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 来源:r6d.cn/vegm 在业务场景要求高的数据库中,对于单条删除和更 ...

  4. echarts asp mysql 源码_如何使用PHP+jQuery+MySQL实现异步加载ECharts地图数据(附源码下载)...

    ECharts地图主要用于地理区域数据的可视化,展示不同区域的数据分布信息.ECharts官网提供了中国地图.世界地图等地图数据下载,通过js引入或异步加载json文件的形式调用地图. 本文将结合实例 ...

  5. 安装mysql程序运行出错_如何解决mysql安装后.net程序运行出错的问题

    如何解决mysql安装后.net程序运行出错的问题 发布时间:2020-09-28 17:43:58 来源:亿速云 阅读:93 作者:小新 小编给大家分享一下如何解决mysql安装后.net程序运行出 ...

  6. mysql密码认证插件_关于mysql:无法加载身份验证插件’caching_sha2_password’

    我正在将MySQL-8.0与MySQL Workbench连接起来并出现以下错误: Authentication plugin 'caching_sha2_password' cannot be lo ...

  7. mysql pt工具 加索引_[转]MySQL中如何为连接添加索引

    SELECT * FROM tblA, tblB, tblC WHERE tblA.col1 = tblB.col1 AND tblA.col2 = tblC.col1; explain的结果如下: ...

  8. delete 后加 limit

    在业务场景要求高的数据库中,对于单条删除和更新操作,在 delete 和 update 后面加 limit 1 绝对是个好习惯.比如,在删除执行中,第一条就命中了删除行,如果 SQL 中有 limit ...

  9. -bash: cd: /usr/bin/mysql:_linux下mysql的卸载、安装全过程amp;amp;mysql安装后bash:mysql:command not found...

    http://blog.sina.com.cn/s/blog_48d5933f0100ts7t.html 卸载mysql 1.查找以前是否装有mysql 命令:rpm -qa|grep -i mysq ...

最新文章

  1. tensorflow1
  2. 修改与删除@property封装的数据属性
  3. selenium 定位不到元素总结
  4. 背包九讲之五(二维费用的背包问题)
  5. 微信红利末期,新媒体运营除了打造10W+还应该做什么?
  6. 淮南:发力“大数据”能源城激活新动能
  7. elasticsearch virtual memory虚拟内存配置“max virtual memory areas vm.max_map_count [65530] is too low, inc
  8. 【转】windows Server2012安装iis
  9. 学长的求职经验 记录【就业创业信息网、求职流程、求职小细节】
  10. C 怎么处理windows路径_python学习笔记-7:文件读写之文件与文件路径
  11. linux查看某进程的连接,linux下查看指定进程的所有连接信息(转)
  12. 未能正确加载包“Microsoft.Data.Entity.Design.Package.MicrosoftDataEntityDesignPackage
  13. 2020年数据库系统工程师下午真题及答案解析
  14. ios识别人脸自动拍照_iOS 相机流人脸识别(一)-人脸框检测(基于iOS原生)
  15. html js设置div可拖动效果
  16. Matlab textscan
  17. 软件版本中的beta,rc,ga是什么意思
  18. 2019年Q4三星和华为都败了,谁也想不到第一名是它
  19. 科力锐助力政务云统一灾备中心建设
  20. NDK33_最全排查UnsatisfiedLinkError: No implementation found

热门文章

  1. hdu1598(并查集)
  2. Flex 4 NativeWindow 中添加Flex组件(问题很多,尚不完善)
  3. 图解Sharepoint2007部署(下):安装sharepoint2007、创建sharepoint2007站点
  4. ZZULIOJ 1101: 逆序数字(函数专题)
  5. vue项目调用通用组件_详细解析:uniapp项目|vue组件形式实现的科技感loading纯CSS动效...
  6. java输出华氏摄氏温度转换表_Python练习题2.10输出华氏-摄氏温度转换表
  7. 信息学奥赛一本通 1163:阿克曼(Ackmann)函数
  8. 数据结构 —— 线段树
  9. 加分二叉树(洛谷-P1040)
  10. 信息学奥赛一本通C++语言——1095:数1的个数