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

WhereHas内部的WhereNotIn

是Laravel框架中的一种查询构造器方法,用于在数据库查询中排除指定的关联模型。

具体来说,WhereHas方法用于检索具有指定关联关系的模型,而WhereNotIn方法则用于排除具有指定关联关系的模型。这两个方法通常结合使用,以实现更精确的查询。

WhereHas内部的WhereNotIn方法可以用于以下场景:

  1. 排除具有特定关联关系的模型:通过使用WhereHas方法指定关联关系,然后使用WhereNotIn方法排除具有该关联关系的模型。例如,如果有一个"用户"模型和一个"角色"模型,我们可以使用WhereHas('roles')来检索具有角色关联的用户,然后使用WhereNotIn('id', [1, 2, 3])排除具有特定角色的用户。
  2. 过滤具有特定关联关系的模型:通过使用WhereHas方法指定关联关系,然后使用WhereNotIn方法排除具有特定关联关系的模型。例如,如果有一个"文章"模型和一个"标签"模型,我们可以使用WhereHas('tags')来检索具有标签关联的文章,然后使用WhereNotIn('id', [1, 2, 3])排除具有特定标签的文章。

推荐的腾讯云相关产品和产品介绍链接地址:

腾讯云数据库 MySQL:https://cloud.tencent.com/product/cdb_mysql

腾讯云数据库 PostgreSQL:https://cloud.tencent.com/product/cdb_postgresql

腾讯云数据库 SQL Server:https://cloud.tencent.com/product/cdb_sqlserver

腾讯云数据库 MongoDB:https://cloud.tencent.com/product/cdb_mongodb

腾讯云数据库 Redis:https://cloud.tencent.com/product/cdb_redis

腾讯云数据库 MariaDB:https://cloud.tencent.com/product/cdb_mariadb

请注意,以上链接仅供参考,具体的产品选择应根据实际需求和项目要求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

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

4K31
  • java内部类和静态内部类区别_静态内部类对象创建

    从之前学习中,我们应该对静态这个关键字有一定了解,静态代表它是属于类,而不是属于实例。我们可以通过类名直接对静态玩意儿直接进行引用,但这里Node静态内部类却是私有的。...为了找到静态内部类和普通内部区别,我使用jad工具,自己重写一个类似的Node类,对其进行反编译后发现: 普通内部类版本: private class List$Node { List...,存在一个隐藏外部类引用字段,在构造内部类时,用于指向外部类引用。...每次生成一个非静态内部类实例,都会有这样操作。 恰巧Node类只是外部类一个组件,他不需要引用外部类任何字段,所以,把它声明成静态能减小不必要消耗。...所以,在定义一个内部类时,如果该内部类不需要引用外部类非静态属性/方法,则应该将它声明为静态。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

    65710

    内部类, 静态内部类, 局部类, 匿名内部解析和区别

    内部类: 概念: 我们所说内部类,官方叫法是嵌套类(Nested Classes)。嵌套类包括静态内部类(Static Nested Classes)和内部类(Inner Classes)。...所以内部成员变量/方法名可以和外部类相同。 内部类有什么作用?...1.内部类可以很好实现隐藏 一般内部类,是不允许有 private 与protected权限,但内部类可以 2.内部类拥有外围类所有元素访问权限 (private修饰也能访问) 3.可是实现多重继承...外部类虽然不能直接访问内部成员, 但是可以通过内部实例访问内部私有成员。...而外部类要访问内部所有成员变量和方法,内需要通过内部对象来获取。(谁叫它是亲儿子呢?) 要注意是,成员内部类不能含有static变量和方法。

    2.4K11

    java_内部类、匿名内部使用

    内部分类 成员内部类,类定义在了成员位置 (类中方法外称为成员位置) 局部内部类,类定义在方法内 成员内部类 :定义在类中方法外类。...,包括私有成员 创建内部类对象格式: 外部类名.内部类名 对象名 = new 外部类型().new 内部类型(); 内部类仍然是一个独立类,在编译之后会内部类会被编译成独立.class文件,但是前面冠以外部类类名和符号...class 内部类 { // 成员变量 // 成员方法 } } } 匿名内部类 匿名内部类 :是内部简化写法。...它本质是一个 带具体实现父类或者父接口匿名子类对象 匿名内部类必须继承一个父类或者实现一个父接口。...定义一个没有名字内部类 这个类实现了Swim接口 创建了这个没有名字对象 匿名内部使用场景 通常在方法形式参数是接口或者抽象类时,也可以将匿名内部类作为参数传递。

    65730

    切片内部实现

    ,len记录切片访问元素个数(可访问长度) cap允许元素增长个数(切片容量) 创建切片 Go语言中提供make来创建切片,slicemake源码实现如下: func makeslice(et *...(容量小于长度切片会在编译时报错) 空切片 1、Go中切片零值是nil 创建一个为nil 字符串切片 var s []string 为nil切片表示 2、创建一个不为nil空切片 var s...= []string{} // 或 var s = make([]string, 0) 不为nil空切片没有分配任何存储空间,它内存模型如下: 这里需要说明一点,为nil切片和不为nil空切片调用...,append将可用元素合并到切片长度,然后对他进行赋值,如果没有可用容量,append会创建新底层数组,将现有的值复制到新数组里再追加新值。...(第一个参数值)中,并返回被复制元素个数,copy 两个类型必须一致,并且实际复制数量等于实际较短切片长度。

    1.1K110

    【Java 基础篇】Java内部类:探索内部世界

    导言 在Java中,内部类是一种定义在其他类内部类。它们允许我们在一个类内部创建另一个类,从而实现更好封装和组织代码能力。...本篇博客将围绕Java内部类展开讨论,包括内部概念、语法、用法以及内部类在Java编程中重要性。 一、内部概念 内部类是指定义在其他类内部类。...它们被视为外部类成员,并可以访问外部类成员变量和方法,包括私有成员。内部类与外部类之间形成了一种特殊关系,内部类可以直接访问外部类成员,而外部类需要通过内部类对象来访问内部成员。...实现封装和隐藏 内部类可以实现更好封装和隐藏,将相关类组织在一起。内部类可以直接访问外部类成员,包括私有成员,从而实现更细粒度封装。...以下是内部一些重要特性和优势: 封装和隐藏:内部类可以实现更细粒度封装,将相关类组织在一起,隐藏对外部可见性。

    22220

    java静态内部类和成员内部区别

    Static Nested Class是被声明为静态(static)内部类,它可以不依赖于外部类实例被实例化。而通常内部类需要在外部类实例化后才能实例化。...想要理解static应用于内部类时含义,你就必须记住,普通内部类对象隐含地保存了一个引用,指向创建它外围类对象。然而,当内部类是static时,就不是这样了。嵌套类意味着:  1....静态内部类可以有静态成员,而非静态内部类则不能有静态成员。 二 . 静态内部非静态成员可以访问外部类静态变量,而不可访问外部类非静态变量; 三 ....非静态内部非静态成员可以访问外部类非静态变量。     生成一个静态内部类不需要外部类成员:这是静态内部类和成员内部区别。...这样实际上使静态内部类成为了一个顶级类(正常情况下,你不能在接口内部放置任何代码,但嵌套类可以作为接口一部分,因为它是static 。只是将嵌套类置于接口命名空间内,这并不违反接口规则)

    99010

    内部作用

    一、 作用 内部类可以很好实现隐藏,一般内部类,是不允许有 private 与protected权限,但内部类可以加上这几个修饰词。...内部类拥有外围类所有元素访问权限,可以直接访问外部类私有属性及方法 可以间接实现多重继承,多个内部类继承不同类形成了一个类中复用了多个类方法。...正是由于他存在使得Java继承机制更加完善。大家都知道Java只能继承一个类,它多重继承在我们没有学习内部类之前是用接口来实现。但使用接口有时候有很多不方便地方。...而有了内部类就不一样了。它可以使我们类继承多个具体类或抽象类。大家看下面的例子。...如果你类要继承一个类,还要实现一个接口,可是你发觉你继承类和接口里面有两个同名方法怎么办?你怎么区分它们??这就需要我们内部类了。

    66530

    RemoteViews内部机制

    set方法对View所做更新并不是立刻执行,在RemoteViews内部会记录所有的更新操作,具体执行操作要等到RemoteViews被加载以后才能执行,这样RemoteViews就可以在SystemServer...RemoteViews内部提供了一个Action概念,Action代表一个View操作,Action同样实现了Parcelable接口。...远程进程通过RemoteViewsapply方法进行View更新操作,RemoteViewsapply方法内部则会去调用所有Action对象并调用它们apply方法,具体View更新操作游Action...performApply方法执行操作,performApply方法内部则是遍历mActions并执行每一个Action对象apply方法。...通知栏和桌面小部件工作过程和上面的描述过程是一致,通过NotificationManager和AppWidgetManager更新界面,在其内部的确是通过RemoteView是的apply和reapply

    61310

    Java中内部类与匿名内部类详解

    成员内部类 成员内部类 :定义在类中方法外类。 定义格式: class 外部类 { class 内部类{ } } 在描述事物时,若一个事物内部还包含其他事物,就可以使用内部类这种结构。...外部类要访问内部成员,必须要建立内部对象。...,在编译之后会内部类会被编译成独立.class文件,但是前面冠以外部类类名和符号 。...比如,PersonHeart.class 匿名内部类 匿名内部类 :是内部简化写法。它本质是一个带具体实现父类或者父接口 匿名 子类对象。开发中,最常用到内部类就是匿名内部类了。...匿名内部类就是做这样快捷方式。 前提 匿名内部类必须继承一个父类或者实现一个父接口。

    1.5K30

    java内部类和静态内部类(嵌套类)

    背景 开发新项目,写Swagermode时候用到了嵌套Model,于是在代码中,出现了静态内部类。在codeReview时候稍微和大家聊了一下。...内部类 可以将一个类定义放在另一个类定义内部,这就是内部类; 嵌套类是其封闭类成员。非静态嵌套类(内部类)可以访问封闭类其他成员,即使它们被声明为私有的也是如此。...静态内部类 再一个普通类里面,给内部类加上static关键字修饰; 与类方法和变量一样,静态嵌套类与其外部类相关联。...两者区别 内部类只是外部类成员变量,通俗讲,就是你只能通过先调用外部类才能去拿到这个类(但是这是和组合还是有区别的)。 但是静态内部类就像是一个普通类一样。可以直接调用,直接去new对象。 4....总结 嵌套类:内部类和静态内部内部类属于外部类成员,必须依赖与外部对象来实现,静态内部类,不依赖,可以自己单独实现。 static 修饰 变量,类,方法,代码块。 共性全局性。

    1.7K20

    Java中嵌套类、内部类、静态内部

    嵌套类可以分为两种,静态和非静态,即静态嵌套类和非静态嵌套类。非静态嵌套类又叫做内部类(Inner Class)。...内部类与静态嵌套类虽然都是嵌套类,但在使用上是有一些区别的。 内部类 比如有如下内部定义, class OuterClass {     ...    ...静态嵌套类   有些人把静态嵌套类成为静态内部类,其实静态内部类这个称呼不严谨,因为内部类都是非静态。...静态嵌套类与内部类有很大不同,静态嵌套类说到底就是一个静态类,只不过是其位置位于某个类内部罢了。   假设有如下静态嵌套类定义:  class OuterClass {     ...    ...综上所述,虽然内部类和静态嵌套类都属于嵌套类,但是二者有本质区别:内部实例化对象需要绑定一个外围类实例化对象,而静态嵌套类实例化对象不能也无法绑定外围类实例化对象。

    1.7K50

    函数内部this指向

    2.this 2.1函数内部this指向 这些 this 指向,是当我们调用函数时候确定。调用方式不同决定了this 指向不同 一般指向我们调用者. ?...2.2改变函数内部 this 指向 2.2.1 call方法 call()方法调用一个对象。简单理解为调用函数方式,但是它可以改变函数 this 指向 应用场景: 经常做继承....2.2.3 bind方法 bind() 方法不会调用函数,但是能改变函数内部this 指向,返回是原函数改变this之后产生新函数 如果只是想改变 this 指向,并且不想调用这个函数时候,可以使用...call 和 apply传递参数不一样,call传递参数使用逗号隔开,apply使用数组传递 bind 不会调用函数, 可以改变函数内部this指向....比如改变定时器内部this指向.

    1.7K30

    FastText内部机制

    这些训练出来词向量,可以应用于许多处理数据压缩应用程序,或者其他模型特征选择,或者迁移学习初始化。...fastText内部原理以及它是如何工作。...这个模型被认为是一个词袋模型,因为除了用于选择n-gram滑动窗口外,它并没有考虑到对单词内部结构进行特征选择。它只要求字符落在窗口以内,但并不关心ngrams顺序。...当您模型中“单词”不是特定语言单词时或者说字符级别的n-gram没有意义时候,这会变得很有用。最常见例子是当您将id作为您单词输入。...我希望这篇文章能帮助我们了解fasttext内部工作原理。我个人已经通过使用这个库取得了很多成功,并强烈推荐你用它去解决你问题。

    1.4K30

    静态内部类和内部区别_内部类不能定义为抽象类

    今天稍微复习一下 静态内部类和 内部相关知识,平常很少用 静态内部类 静态内部类,不能访问外部类非静态成员 静态内部类 不需要创建外部类对象就可访问(外部类名.内部类 比如new MyMain.Person...(); // System.out.println(mail);//不可访问 // System.out.println(address);//不可访问 //访问内部成员,都要通过内部对象 System.out.println...(person.address);// 可以访问内部私有成员 System.out.println(Person.x);// 外部类访问内部静态成员:内部类.静态成员 System.out.println...public static void main(String[] args) { new TestInner().new Person().display(); } } 最后一点小补充 参考静态内部类和非静态内部区别中提到...正常情况下,你不能在接口内部放置任何代码,但嵌套类可以作为接口一部分,因为它是static

    34420

    java 内部类 静态方法调用_内部类和静态内部调用「建议收藏」

    Outside.Indoor oi = in.new Indoor(); //调用内部类自己属性和方法 oi.Swim(); System.out.println(oi.oo); //外部类自己调用外部类...//静态内部创建需要依赖外部类 Out.Ind j=new Out.Ind(); //静态内部类不可以调用外部类属性和方法 //静态内部类调用自己属性和方法 j.pp=”ajk”; j.Swim...(); //在静态内部类中,只能使用外部类名直接调用外部静态属性和方法 Out.age=3; } } //外部类 class Outside { String name = “张”; static...System.out.println(age); //调用外部类中age System.out.println(Out.age); //外部类方法直接调用 run(); } } } 版权声明:本文内容由互联网用户自发贡献...如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1K30

    Laravel关联模型中过滤结果为空结果集(has和with区别)

    想想也是,with只是用sqlin()实现所谓预加载。无论怎样主user_coupons数据都是会列出。...后来看到了Laravel关联模型has()方法,has()是基于存在关联查询,下面我们用whereHas()(一样作用,只是更高级,方便写条件) 这里我们思想是把判断有没有优惠券数据也放在第一次查询逻辑中...加上whereHas()后代码如下 $userCoupons = UserCoupons::whereHas('coupon', function($query) use($groupId){ return...然后走下一步with()查询,因为此时都筛选一遍了,所以with可以去掉条件。 显然区分这两个作用很重要,尤其是在列表中,不用特意去筛选为空数据,而且好做分页。...总结 以上所述是小编给大家介绍Laravel关联模型中过滤结果为空结果集(has和with区别),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家

    3.4K40

    内部类与静态内部区别_禁止序列化非静态类内部

    静态内部类和非静态内部区别 主要区别有三点:定义、访问和声明 定义 静态内部类中可以定义类变量、类方法、常量、成员变量和方法;非静态内部类只能定义常量、成员变量和方法 访问...静态内部类只能访问外部类静态成员变量和静态方法,并且不能引用外部类对象(this);非静态内部类可以访问外部类所有成员和方法 声明 声明静态内部类时,不依赖于外部类对象;声明非静态内部类时,...依赖于外部类对象 # 静态内部类 OutClass.InnerClass innerClass = new OutClass.InnerClass(); # 非静态内部类 OutClass.InnerClass...innerClass = new OutClass().new InnerClass(); 内部类使用技巧 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。...如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    55710
    领券