首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WhereHas不工作,在中有许多关系

WhereHas是Laravel框架中用于查询关联模型的方法。当我们在使用WhereHas时,可能会遇到一些问题。

首先,我们需要确保模型之间确实存在关联关系。在Laravel中,关联关系可以通过在模型之间定义关联方法来实现。例如,在两个模型之间建立一对多关系,我们可以在父模型中定义一个hasMany方法,然后在子模型中定义一个belongsTo方法。只有在模型之间正确地定义了关联关系,才能使用WhereHas进行查询。

其次,我们需要确保WhereHas方法中的查询条件是正确的。WhereHas接受两个参数:关联的方法名和一个闭包函数。闭包函数中可以指定关联模型的查询条件。如果WhereHas不起作用,可能是闭包函数中的查询条件有误。我们需要仔细检查闭包函数中的条件是否正确,并且确保与关联模型的字段匹配。

此外,WhereHas方法只返回满足条件的父模型,而不会加载关联模型的数据。如果需要加载关联模型的数据,可以结合使用with方法来实现。通过with方法,我们可以在WhereHas的基础上使用Eager Loading机制,一次性加载所有满足条件的父模型及其关联模型的数据。

最后,WhereHas方法可以在许多关系中使用,包括一对一、一对多、多对多和多态关系等。无论是哪种关系,都可以通过WhereHas方法进行查询。

总结:在使用Laravel框架的WhereHas方法时,我们需要确保模型之间正确定义了关联关系,闭包函数中的查询条件正确,结合使用with方法进行数据加载,并且可以在各种关系中使用WhereHas方法进行查询。

参考链接:

  • Laravel关联查询文档:https://laravel.com/docs/8.x/eloquent-relationships
  • Laravel Eager Loading文档:https://laravel.com/docs/8.x/eloquent-relationships#eager-loading
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

laravel ORM关联关系中的 with和whereHas用法

,向下面这样: //查询所有的用户,查询条件:发布过标题中有first的post $users = User::with(['posts' = function ($query) { $query...查询存在的关联关系,还有对应的 whereDoesntHave ,查询不存在的关联关系,像下面这样: // 获取发布文章标题中有first的用户 $users= User::whereHas('posts...就是关联关系上筛选,只筛选符合条件的,适合查找 存在不存在 感觉 with 更多的用在查看详情的时候,你想知道你的查看对象的具体信息,关联到的内容是怎样的, 而 whereHas 更多的用在筛选,你要把符合条件的关联关系的对象给他找出来...就像用户发文章, user 存在关联关系 post,如果是 user- with(‘post’),你会得到所有用户和用户发布的文章信息,没发文章的用户就没有文章信息,如果是 user- whereHas...这就是我对 with 和 whereHas 的一些理解了 以上这篇laravel ORM关联关系中的 with和whereHas用法就是小编分享给大家的全部内容了,希望能给大家一个参考。

3.9K31

公司制度规范的情况下,如何做好测试工作

我们的选择要么改变自己要么改变别人,千万不要一方面抱怨公司,另一方面还赖公司走,那是最令人鄙视的人生了! 二、对于已经做管理层,有机会改变公司现状的,那恭喜你。...问他们对今后的测试有啥意见,他们想怎么搞,然后,好,跟他们交换思路,把你的大致想法讲给他们听,看看他们什么意见,肯定会有很多好意见的,因为人家也想趁着这个机会提高质量少给自己以后的工作找麻烦。...这个过程可能需要经过2轮,因为要将自己修改后的东西和别人沟通么。...真的搞不定的也没关系,可以先搁置,等执行过程中再说。 5、真的开始执行了,就一定要猛抓质量,当然,这之前,你还需要猛练兵!...其他就是更细节的了,但是,很多开发流程很差的公司,其实你测试是做不好的,或者很难做的,因为开发流程本身就是乱来,这个,你要有本事让开发流程对为你而改变,或者你有3,5年的经验,对开发过程都比较熟悉,那没关系

1.2K30

Laravel Eloquent 模型关联关系(下)

关联查询 关于关联查询,我们在前面介绍关联关系定义的时候已经穿插着介绍过,这里简单回顾下。...从性能上来说,渴求式加载更优,因为它会提前从数据库一次性查询所有关联数据,而懒惰式加载每次查询动态属性的时候才会去执行查询,会多次连接数据库,性能上差一些(数据库操作主要开销在数据库连接上,所以开发过程中如果想优化性能...如果返回的文章结果是列表的话,需要遍历获取作者信息,假设要循环 N 次的话,加上文章模型本身的获取,总共需要进行 N + 1 次查询,而 PHP 对数据库的连接是短连接,每次都要重新连接数据库,所以从性能角度考虑建议使用这种方式...很显然,它们用于过滤包含对应关联结果的模型实例。...Eloquent 允许我们为这种空对象定义一个默认的类型,这个对象的类型可以定义关联关系的时候指定: public function author() { return $this->belongsTo

19.5K30

跟我一起学Laravel-EloquentORM进阶部分

注意的是,默认情况下之后模型的键可以通过pivot对象进行访问,如果中间表包含了额外的属性,指定关联关系的时候,需要使用withPivot方法明确的指定列名 return $this->belongsToMany...关联关系查询 Eloquent中,所有的关系都是使用函数定义的,可以执行关联查询的情况下获取关联的实例。...content', 'like', 'foo%'); })->get(); 预加载 访问Eloquent模型的时候,默认情况下所有的关联关系都是延迟加载的,使用的时候才会开始加载,这就造成了需要执行大量的...N个查询查询出作者信息,显然这样做是非常低效的,幸好我们还有预加载功能,可以将这N+1个查询减少到2个查询,查询的时候,可以使用with方法指定哪个关系需要预加载。...子模型中使用$touches属性实现该功能 <?

4K50

通过Eloquent实现Repository模式

我们希望Model的使用不是ActiveRecord,而是较为清晰的DataMapper模式,能够让domain model和database解耦,然后由DataMapper来完成映射工作,更具体点,我们希望的是像...有以下几个方案 让findActivePosts返回�Collection,而不是Eloquent\Collection,避免Repository之外使用Eloquent相关的功能 通过custom...下面给出一个建议: 提供非eager loading的方法同时,提供一个eager loading的方法。这可能会被人说:这也不是让用户知道了实现细节了嘛。是的,这方法是一个性能和使用上的妥协。...return $this->posts() ->newQuery() ->whereHas('favorites', function...})->get(); } ... } 我们没有办法将relation Method设置为protect或者private(这样设置的目的是让外面不使用,限制使用范围),但是这样子会导致想whereHas

67530

2021 年 Python 的好与坏

作者 | Shantnu Tiwari 译者 | 平川 策划 | Tina Python 许多领域都是首选语言,包括编程入门、机器学习、数据科学以及数据工程等。...在这篇文章中,我想聊下 Python 最大的优势和不足,以不足为主,因为这些问题已经存在了许多年,而且其中有些导致了很多问题。这篇文章对 Python 的评价看起来非常负面。...前 言 在这篇文章中,我想聊下 Python 最大的优势和不足,以不足为主,因为这些问题已经存在了许多年,而且其中有些导致了很多问题。...Python 闪光之处 现在,Python 许多领域都是首选语言——编程入门、机器学习、数据科学以及数据工程(包括清理数据、提取数据并存储为一个容易阅读的格式,等等)。...企业里,任何 bash 脚本超过 20 行,评审人员就会抱怨;我不是指责他们。 X 是一个很棒的库,但如果它不支持 Python,我连试也不会试。像这样的评论,我见过许多次了。

45910

项目管理三角

项目三角强调的是三方面相互影响的紧密关系 1)为了缩短项目时间,就需要增加项目成本(资源)或减少项目范围; 2)为了节约项目成本(资源),可以减少项目范围或延长项目时间;如果需求变化导致增加项目范围,...而项目的质量是受这三个因素的平衡关系所决定的,要得到目标质量的项目产品,就要确定项目的范围、时间和成本。如果这三项中任一项发生变化,势必会影响另两项中的至少一项发生随动。 1. 范围(Scope)。...要严格控制工作范围的变化,一旦失控就会出现“出力讨好”的尴尬局面:一方面做了许多与实现目标无关的额外工作,另一方面却因额外工作影响了原定目标的实现,造成商业和声誉的双重损失。 2....项目中的活动根据工作范围确定,确定活动的开始和结束时间还要考虑他们之间的依赖关系。 3. 成本(Cost)。指完成项目需要的所有款项,包括人力成本、原材料、设备、租金、分包费用和其他费用等。...一般通过定义工作范围中的交付物标准来明确定义这些标准包括各种特性及这些特性需要满足的要求,因此交付物项目管理中有重要的地位。

47010

测试微服务 VS 测试单体式应用

使用微服务比起使用单体式应用程序结构有许多优点。 但是微服务并不像单体式应用程序一样已经有确定的开发模式。 许多问题尚未解决,我们也还没有看到完善的“微服务方式”的实施标准的出现。 测试也例外。...一个典型的应用中,一个(微)服务有一系列的依赖关系,可能是其他的(微)服务。 单元测试中一样,第一个想法是模拟对象测试(mocking)。 但是,有什么好方法对微服务模拟对象测试?...这包括有控制的引入(mocked)依赖关系并测试容器服务不同情况下的行为,以及测试暴露的 API。...您可以了解更多关于我们存储库上创建的 Dredd Docker 镜像的信息[3],并阅读文档[4]中有关 Dredd 钩子的更多信息。...更多的工作 通过这个流程,我们定义了微服务测试层级并且将 API 端点测试集成持续集成阶段。还有很多工作要做。例如,为 API 引入版本会很好。

73880

开拓性思维能力和观察能力比专业更重要!

所学专业与要从事的工作专业不对口没关系,有许多半路出家转专业的也同样新的专业领域干得非常出色;许多在本专业上的大碗,在其他专业领域同样不含糊!...其实这世上的很多事物都是相通,许多事物的发展规律其数学模型是一样的,关键看你是不是有能力抽象出这些共性,看到问题的本质。用句俗话讲,就是你有没有“灵气”和“悟性”。...作为一名央企的老技术人员,经常跟人力资源部门一起去招聘员工,面试时所考察的除了一些专业知识以外,更重要的是考察应聘者的开拓性思维能力和日常观察能力,这些考题针对任何专业,下面就是一道考察开拓性思维能力和对日常事物的观察能力的典型面试题...这道题有三问: 1 如图所示为一扇门,请你设计一个机构,使这扇门关闭过程中角度小于某一角度θ时,需要人为施加一定的力,而一旦超过这个角度θ时,则不需要外力,门即可自行关闭;同样,开启这扇门时,如果角度没有达到...2 我们的日常生产和生活中有许多类似的机构,你是否有所观察,请列举2~3个你日常生活中见过的类似机构。 3 类似机构电机设计时什么部位可以应用?

50830

数字化转型的理论体系与具体技术

彼得德鲁克的《工业人的未来》中曾谈到:工人的劳动环境,不如过去的田园生活;工人、甚至制造企业主许多工业国的社会地位并不高。 但农民为什么愿意走进工厂呢? 因为工厂能够带来更多的收入。...人们贫穷的时候,宁愿用工作过程的“舒适”,去换取更多的经济收入,让日常生活过程舒适。但是,经济进一步发展以后,人们对工作环境本身的要求就高了。我国,年轻人宁可做营业员、送外卖,也不愿意进工厂。...从自动化的角度看,“重构人和机器的关系”就是把人的工作交给机器去做。数字化(智能化)的一个重要作用,就是弥补传统自动化的短板、解决过去难以自动化的工作。...典型的技术往往与图像识别有关:过去,只要需要图像识别的工作,都离不开人。 然而,即便是全自动化的工厂中,也要有人的参与。人在工厂中有两项基本的工作:维持正常生产、改进和创新。...另外,当工厂的自动化程度高了以后,企业的技术人员就要从事与改进、创新有关的工作。数字化的一个重要作用,就是要提升这些工作的效率。然而,许多中国企业管理不善,技术人员主要充当“救火队员”的角色。

23910

如何一步一步用DDD设计一个电商网站(三)—— 初涉核心域

【图4】     我相信有许多人会以图3和图4的方式定义我们的商品和用户,乍一看的确符合对商品、用户概念的独立的理解。...但在DDD中有不同的限界上下文,每个限界上下文专注处理自身的业务,多个限界上下文之间是以协作的方式工作。保证多个限界上下文之间的良好协作关系的方式是提高自治性。...比如这里面的Product.PermitNo(批文号),大部分行业里,它与销售商品没什么关系。...SOA、微服务等实现理念层出穷。...这种方式也就是第一篇文章中所提到的发布语言和开放主机服务,那么对于客户端来说需要做好防腐层(第一篇文章中有提到)的工作,好避免外部上下文的概念侵入到自身的领域概念中。

1.3K10

“开源”坏掉了!

Alpine Linux也是表明该问题的一个典例,因为它经常在Docker语境下使用,实际的生产环境下为许多公司提供支持。你认为这些公司中有多少家资助Alpine Linux项目?...你认为这些公司中有多少家甚至考虑过资助Alpine Linux项目?...但这个库同样臭名昭著,原因是每当你CI中安装它,就可以知道项目作者寻找工作。...容易受到该问题影响的公司包括苹果、谷歌、我的手机运营商以及基本上默认配置中使用JavaEE的每家公司。 如果log4j2关系到贵公司的成功,你道义上就有义务向费力讨好地创建这个库的人捐款。...我的一个朋友长期以来一直费力讨好地维护一家在线广播电台的技术堆栈。他受到了其用户不公正的对待。

31220

TED演讲 | 数据滥用时代,3招教你辨别身边不靠谱数据

阐述每一个问题时,Mona不仅介绍了许多相关概念,还援引了许多来自生活中的实例,使得枯燥的课本知识变的通俗易懂起来。 如果你也恰好有兴趣,恰好有时间,欢迎戳下方视频,学习起来喔!...当我统计部门工作的时候,我们的工作就是统计有多少伊拉克人在战争中,是被迫离乡的、以及他们需要什么?这真的是一项非常重要的工作,但也极其困难。每一天,我们做的决定都会影响到数据的精度。...真正改变了人们和数据的关系的因素之一,甚至包括对于媒体的信任,是政治民意调查的使用。...国家政策的层面上,很容易理解为什么人们对全球平均水平失落不已,因为这些数据不符合他们的个人经历。 并不是每种数据都必须和你扯上点关系,看看你自己对应其中哪种情况。这样做的目的是尽可能多的了解背景。...这被称为选择性调查,也就是任何人都可以互联网上找到该调查 并完成它。没有办法知道这些人是否是真正的穆斯林。最后 该项调查中有600名受访者,根据皮尤研究中心 大约有三百万穆斯林在这个国家。

71140

数据科学家:为什么我要离职…

期望与现实不符 我认识的许多初级数据科学家(包括我自己)入行都是由于,我们看来数据科学家使用新型的机器学习算法去解决复杂问题,从而对业务产生巨大影响。我们会觉得这份工作比之前做的任何工作都重要。...但是据我所知,许多公司聘请数据科学家时,并没有配备适当的基础设施,让其能够从AI中得出有价值的结论。...再加上这些公司招聘初级数据从业人员之前,并没有聘请经验丰富的资深数据专家,这样就会导致双方关系融洽,无法达到互相期望值。 数据科学家希望在工作中,通过编写智能机器学习算法得出分析见解。...孤立的团队中工作 当我们看到成功的数据产品时,我们经常会看到具有智能功能的用户界面设计。重要的是当中有输出,能够被用户感知并解决相关问题。 ?...这意味着独立工作的数据科学团队将难以提供价值! 尽管如此,许多公司由数据科学团队提出自己的项目,并通过编程来尝试解决问题。某些情况下,这能够满足要求。例如,如果需要的只是每季度生成静态电子表格。

65070

数据科学家:为什么我要离职……

但是据我所知,许多公司聘请数据科学家时,并没有配备适当的基础设施,让其能够从AI中得出有价值的结论。...再加上这些公司招聘初级数据从业人员之前,并没有聘请经验丰富的资深数据专家,这样就会导致双方关系融洽,无法达到互相期望值。 数据科学家希望在工作中,通过编写智能机器学习算法得出分析见解。...04 孤立的团队中工作 当我们看到成功的数据产品时,我们经常会看到具有智能功能的用户界面设计。重要的是当中有输出,能够被用户感知并解决相关问题。...这意味着独立工作的数据科学团队将难以提供价值! 尽管如此,许多公司由数据科学团队提出自己的项目,并通过编程来尝试解决问题。某些情况下,这能够满足要求。例如,如果需要的只是每季度生成静态电子表格。...另一方面,如果目标是定制的网站开发产品中优化提供智能建议,那么当中将涉及许多不同的技能,绝大多数是数据科学家所不具备的。

1.2K150

ERP项目经理需求调研的惨痛经历

声明:本文仅代表原作者观点,仅用于ERP软件的应用与学习,代表任何公司。...赵峰开了一个小会专门讨论如何开始需求调研: 赵峰:“要求大家开始需求调研前,为你所负责区域的每一个重要岗位准备一份调研问卷,让业务人员利用业余时间填写,这样他们可以有时间仔细思考,而我们也可以少走许多弯路...经过一个多月的努力,ERP项目组终于完成了需求调研工作,撰写了大量的需求分析文档,开过多次讨论会,最后,各部门负责人审查无误后慎重地需求分析文档上签了字。 业务部门:推翻需求调研不是我的错!...另外,对许多流程的描绘也太过简单: 有的忽略了流程中点与点之间的时间约束关系,如半成品完工后需要检验,但没有表达出检验结果需要在多长时间内给出; 有的忽略了流程中一些业务点的地点要求,如有些检验需要在车间现场进行...,而有些检验可以质检部办公室进行; 有的忽略了点与点之间的前后约束关系,有些流程点虽然看起来没有前后的约束关系,但事实上实际生产中是有这方面考虑的,例如原材料仓库中可能需要根据一些检测数据分开堆放原料

62810

LinkedIn 2017新兴职业报告:面向未来的所有新兴工作都需要软件工程师

越来越多的人正在变得健康,这可以解释为什么新兴工作中有芭蕾教练这个职业。持牌房地产经纪人的需求房地产市场复苏后排名非常高,这也令人意外。就在去年,持牌房地产经纪人的数量猛增了40%。...面向未来的技能至关重要:五年前,这些新兴技能中有一些根本就不存在,许多专业人士并不确定他们目前的技能将在未来1 - 2年内发挥作用。...科技行业中的许多新兴岗位集中旧金山、纽约、洛杉矶等大城市。...伙伴关系主管 客户体验负责人 数据科学家 iOS应用开发者 用户体验研究员 面向未来的工作最需要的技能 根据LinkedIn和凯捷咨询(Capgemini)近期进行的一项调查,有近30%的专业人士认为,...尽管这些职业中有许多需要专业的经验或高级学位,但有一件事是不变的:软技能在所有行业都很重要。你还会注意到,这些技能涵盖了从市场营销到工程,再到销售的各种职业。 1. 管理 2. 销售 3.

783110
领券