首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用whereHas和关系列和的查询

使用whereHas和关系列和的查询
EN

Stack Overflow用户
提问于 2020-09-28 11:30:24
回答 1查看 2.1K关注 0票数 1

我查询使用关系表中的值和来添加自定义的"balance“列。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
User::withCount(['transactions as balance' => function($query) {
     $query->select(\DB::raw('sum(credit_movement)'));
}]);

这对于返回"balance“列很好。

现在,我想过滤有关"balance“列的用户。

->where('balance', '<', 0);

如果我将其链接到查询,它将不工作,因为"balance“列不存在。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
User::withCount(['transactions as balance' => function($query) {
     $query->select(\DB::raw('sum(credit_movement)'));
}])
->where('balance', '<', 0);

我试着用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
User::withCount(['transactions as balance' => function($query) {
     $query->select(\DB::raw('sum(credit_movement)'));
}])
->having('balance', '<', 0); // won't work

// also:
->havingRaw('balance < 0'); // won't work

但这些都不管用。

从句中的未知数“balance”

我希望查询只返回余额小于0的用户。(我希望在查询生成器中实现它,而不是集合上的->filter()

更新:

我试过使用whereHas(),但写得不正确

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
User::withCount(['transactions as balance' => function($query) {
     $query->select(\DB::raw('sum(credit_movement)'));
}])
   ->whereHas('transactions', function($q) {
      $q->whereRaw('sum(credit_movement), < ?', 0);
   });

语法错误或访问冲突: 1064您的SQL语法出现了错误;请检查与MySQL服务器版本对应的手册,以获得使用“<?”

的正确语法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-28 15:53:23

终于起作用了:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
User::whereHas('transactions', function($q) {
   $q->select(\DB::raw('SUM(credit_movement) as balance'))
       ->havingRaw('balance < 0');
   });
});
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64108475

复制
相关文章
Pipenv有什么问题
这不是我第一次写Pipenv相关的文章,也相信不是最后一次,前两篇我用的是英文,(浅陋地)分析了Pipenv和Poetry的优劣,至今仍是我博客访问量最高的文章。今天是因为在知乎上看到两位朋友写的两篇文章(链接我放在文末了),吐槽了一通以后推荐大家不要使用Pipenv。说实话,作为核心维护者之一我是有点心酸的,因为他们说的那些问题的确都存在。在本文中我希望从一个核心维护者的角度,总结一下Pipenv存在的问题,作为一个告解。
岂不美哉Frost
2019/11/30
1.1K0
深度学习有什么问题?
在本文中,我想将经典数学建模和机器学习之间建立联系,它们以完全不同的方式模拟身边的对象和过程。虽然数学家基于他们的专业知识和对世界的理解来创建模型,而机器学习算法以某种隐蔽的不完全理解的方式描述世界,但是在大多数情况下甚至比专家开提出的数学模型更准确。然而,在许多应用程序(如医疗保健,金融,军事)中,我们需要清晰可解释的决策,而机器学习算法,特别是深度学习模型并不是这样设计的。
商业新知
2019/04/24
1.1K0
深度学习有什么问题?
JavaScript中的类有什么问题
最近开源了一个 Vue 组件,还不够完善,欢迎大家来一起完善它,也希望大家能给个 star 支持一下,谢谢各位了。
前端小智@大迁世界
2021/03/02
1.6K0
JavaScript中的类有什么问题呢?
并不是说 JS 的类有问题,但是如果你使用该语言已有一段时间,特别是使用过ES5,那么你可能就知道了从原型继承到当前类模型的演变。
前端小智@大迁世界
2022/06/15
1.4K0
JavaScript中的类有什么问题呢?
Binance 的跨链`Ethereum`智能合约
上一篇描述了Binance与Ethereum的跨链原子交换技术规范;本节将描述Binance在Ethereum中的跨链院子交换合约。
路之遥
2022/09/26
4250
Java 的 String.substring 方法有什么问题?
在 Java 7, Update 6 之前,substring 方法会有内存泄漏的问题。
水货程序员
2018/11/13
1.5K0
回答几个粉丝的提问,如果你有什么问题来留言
每天公众号后台有很多消息,大多数是自动回复,我基本上不看,主要是太费时间了,如果有什么问题随便找篇文章留言,我看到都会及时回复:
苏生不惑
2023/02/06
7240
你的函数有多快?使用 performance 监控前端性能
要比较两个函数哪个性能更好,一个直观且公平的方法就是计算两个函数分别执行完的时间。
前端小智@大迁世界
2020/07/23
1.6K0
你的函数有多快?使用 performance 监控前端性能
Redis 热 key 是什么问题,如何导致的?有什么解决方案?
做一些C端业务,不可避免的要引入一级缓存来代替数据库的压力并且减少业务响应时间,其实每次引入一个中间件来解决问题的同时,必然会带来很多新的问题需要注意,比如缓存一致性问题。
码猿技术专栏
2023/09/07
1.2K0
Redis 热 key 是什么问题,如何导致的?有什么解决方案?
函数 | Python的内置函数详解(文末有惊喜)
Python内置的函数及其用法。为了方便记忆,已经有很多开发者将这些内置函数进行了如下分类:
潘永斌
2020/02/18
3660
事务隔离到底有什么用?能解决什么问题?
马克-to-win:上 述问题怎么解决呢?如果我们把你买衣服和你老婆转钱算作是两个不同的事务,这就简单了。只要把这两个事务隔离开,就可以了。当数据库发现两个事务同时想更 改一条数据时,就会让后进来的事务等一下,让先进来的事务把事务操作完,再让等着的事务完成它自己后面的操作。马克-to-win:这样,你老婆的转账事务等着你买衣服的事务 先完成,帐上从800变成了200。接着你老婆再转走那600元。当然会发现钱不够(200<600),也转不了了。这样就对了,保持了数据的完整 性,银行也不会招致损失。
马克java社区
2021/08/03
5590
分页使用 OFFSET 和 LIMIT 会有什么问题?
随着时代的进步,随着野心勃勃的企业想要变成下一个 Facebook,随着为机器学习预测收集尽可能多数据的想法的出现,作为开发人员,我们要不断地打磨我们的 API,让它们提供可靠和有效的端点,从而毫不费力地浏览海量数据。
二哥聊运营工具
2021/12/17
6850
分页使用 OFFSET 和 LIMIT 会有什么问题?
Go 语言原生的 json 包有什么问题?如何更好地处理 JSON 数据?
Go 的 “玩家” 们看到这个题目可能会很疑惑——对于 JSON 而言,Go 原生库 encoding/json 已经是提供了足够舒适的 JSON 处理工具,广受 Go 开发者的好评。它还能有什么问题?但是,实际上在业务开发过程中,我们遇到了不少原生 json 做不好甚至是做不到的问题,还真是不能完全满足我们的要求。
amc
2021/05/06
5.2K0
Go 语言原生的 json 包有什么问题?如何更好地处理 JSON 数据?
面试官问你“有什么问题问我吗?”,你该如何回答?
我还记得当时我去参加面试的时候,几乎每一场面试,特别是HR面和高管面的时候,面试官总是会在结尾问我:“问了你这么多问题了,你有什么问题问我吗?”。这个时候很多人内心就会陷入短暂的纠结中:我该问吗?不问的话面试官会不会对我影响不好?问什么问题?问这个问题会不会让面试官对我的影响不好啊?
乔戈里
2019/03/11
2K0
面试官问你“有什么问题问我吗?”,你该如何回答?
使用函数对象与使用函数的比较
1.使用函数对象,可以让函数变得有状态。而且可以在运行期再初始化。 2.函数对象通常比寻常函数速度快。 template<int theValue> void add(int& elem){ elem += theValue; } class AddValue{ private: int theValue; public: AddValue(int v) : theValue(v){} void operator()(int& elem) const { e
forxtz
2020/10/10
1.1K0
Vue渲染函数该如何使用?有哪些需要注意的地方?
Vue的模板语法适用于绝大部分的需求场景(模板最终会被编译为渲染函数),在绝大多数情况下,Vue 推荐使用模板语法来创建应用。然而在某些使用场景下,我们真的需要用到 JavaScript 完全的编程能力,举例如下:
房东的狗丶
2023/02/17
6150
PHP ImageMagick扩展有哪些函数?PHP ImageMagick扩展的使用方法
ImageMagick是一个免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转。
房东的狗丶
2023/02/17
1.8K0
PHP ImageMagick扩展有哪些函数?PHP ImageMagick扩展的使用方法
面试官问你“有什么问题问我吗?”,你该如何回答?
我还记得当时我去参加面试的时候,几乎每一场面试,特别是HR面和高管面的时候,面试官总是会在结尾问我:“问了你这么多问题了,你有什么问题问我吗?”。这个时候很多人内心就会陷入短暂的纠结中:我该问吗?不问的话面试官会不会对我影响不好?问什么问题?问这个问题会不会让面试官对我的影响不好啊?
乔戈里
2019/03/01
7830
ES能为你解决什么问题,又会带来什么问题?
S主要运用于全文搜索、数据分析, 底层使用开源库Lucene,拥有丰富的REST API。内部分布式的数据存储、倒排索引等设计,使其可以快速存储、搜索、分析海量数据。典型的使用方和应用场景,如github,StackOverflow,elasticsearch+logstash+kibana 一体化的日志分析。
写PHP的老王
2020/06/16
1.6K0
oracle基础|oracle函数的使用|oracle单行函数(字符函数、日期函数、数字函数、转换函数)的使用
前面我们学了一些简单的用法,今天要学习oracl函数的使用,函数是oracle非常重要的功能,如果将函数学会了,那么基本上在项目的一些增删改查功能,就可以很轻松的上手了,所以这篇文章一定要认真的看
小小鱼儿小小林
2021/10/09
7.4K0

相似问题

我使用的函数有什么问题?

12

使用内联函数有什么问题?

1217

使用php if else if的函数有什么问题?

70

这个NPER函数的使用有什么问题?

13

使用ifstream的模板函数有什么问题?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文