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

Laravel 软删除存在的问题

,查询关联关系,不会对中间表应用软删除条件 belonsToMany中的中间表是传入的表名参数,天然没办法获取中间表是否需要应用软删除。...被关联表是一个类对象,如果应用了软删除,则会自动附加上软删除条件 6、在hasManyThrough关联关系中,如果关联表,中间表,被关联表都有软删除字段,查询关联关系,会对中间表应用删除条件。...但是,如果要查询包含已删除的关联关系,中间表的删除标记条件不会去除。 hasManyThrough中,中间表是通过中间对象传入,可以获取到中间表是否应用软删除。...但是中间表的软删除不是通过scope实现的,关联关系对象在创建的时候就已经把中间表的软删除条件附加上去了,因此,即使指定了withTrashed,也会有中间表的软删除查询条件。...从上面可以看出,Laravel的软删除,在关联关系中会造成一些查询上条件的歧义,非常容易产生bug.而且,belongsToMany中间表的问题是无解的。

2.3K20

Laravel源码分析之模型关联

上篇文章我们主要讲了Eloquent Model关于基础的CRUD方法的实现,Eloquent Model中除了基础的CRUD外还有一个很重要的部分叫模型关联,它通过面向对象的方式优雅地把数据表之间的关联关系抽象到了...使用模型关联给应用开发带来的收益我认为有以下几点 主体数据和关联数据之间的关系在代码表现上更明显易懂让人一眼就能明白数据间的关系。...为了阅读方便我们把这几个有继承关系类的构造方法放在一起,看看定义一对多关返回的HasMany实例时都做了什么。...类的实例,实例化 hasManyThrough时的操作跟实例化 BelongsToMany时做的操作非常类似。...,在获取关联模型时给关系应用约束的 addEagerConstraints方法是在具体的关联类中定义的,我们可以看下HasMany类的这个方法。

9.6K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    类的关系——依赖关系

    1、特点指一个类A使用到了另一个类B这种关系具有偶然性的,临时性,非常弱的,但类B的变化影响类A表现:类B作为参数被类A在某个方法中使用(形参)2、代码实现2.1 形式参数//依赖关系//公交车类public...“HAS”关系,依赖是“USE”关系 -A类关联B类,指的是B类对象作为A类的属性存在,称为“has”关系。...-A类依赖B类,指的是B的对象作为A类的方法形式参数存在,称为“use”关系。当然,也包括局部变量、返回值类型和静态方法调用这三种场景。...生命周期不同 -如果A类关联B类,那么创建A类的对象时实例化B类的对象,直到A类对象被销毁,所关联的B类对象也被销毁。即只要A类对象存在,B类对象就存在。...-如果A类依赖B类,那么只有当A类对象调用到相应方法时,B类对象才被临时创建,方法执行结束,B类对象即被回收,A类和B类之间的依赖关系是一种瞬时的关系。

    10710

    Laravel 如何实现数据的软删除

    软删除功能需要实现的功能有以下几点: 1.模型执行删除操作,只标记删除,不执行真正的数据删除 2.查询的时候自动过滤已经标记为删除的数据 3.可以设置是否查询已删除的数据,可以设置只查询已删除的数据 4...Laravel中软删除数据的过滤也是使用这种方式实现的。...如果是远程关联,则还需要额外的处理。Laravel远程关联关系通过hasManyThrough实现。里面有两个地方涉及到软删除的查询。...但是有的时候,项目中会使用一个整形的字段标记数据是否删除。在这样的场景下,需要对Laravel的软删除进行修改才能够实现。...trait,在自定义的HasRelationships中重写newHasManyThrough方法,实例化自定义的HasManyThrough对象 具体内容,后续文章介绍。

    2.4K10

    【集合论】关系性质 ( 常见的关系的性质 | 关系性质示例 | 关系运算性质 )

    文章目录 一、常见的关系的性质 二、关系的性质示例 三、关系运算性质 一、常见的关系的性质 ---- 在 自然数集 N=\{ 0, 1,2, \cdots \} 上 , 如下关系的性质 : 1....整除关系 : 整除关系 : 符号化描述 : | = \{ | x \in N \land y \in N \land x | y \} 关系性质 : 反对称 , 传递 x|y 中的..., 反对称的关系 , 称为偏序关系 ; 二、关系的性质示例 ---- 关系图关系判定 : ① 自反 : 关系图中所有顶点 都有环 ; ② 反自反 : 关系图中所有顶点 都没有环 ; ③ 对称 : 两个顶点之间...a \to c , 这里传递性不成立 ; 三、关系运算性质 ---- 讨论问题 : 指定性质的关系 之间进行运算 , 其结果的性质 ; 如 自反的两个关系 进行逆序合成运算 , 结果扔是自反的 ; 下图中表格的含义是...: 如 第二列 “自反” 与 第三列 “ R_1 \cup R_2 ” , 交叉的表格位置 , 代表 关系 R_1 与关系 R_2 是自反的 , 其有序对交集是否是自反的 , 如果是 1

    1.9K00

    MySQL_关系的码,关系的完整性

    [toc] 关系的码 候选码 候选码是能够唯一标识关系中某一个元组的一个属性或属性集,也叫候选键 如: 学生关系中,学号可以唯一标识学生,班级+姓名也可以唯一标识一个学生,学号和(班级,姓名)都是候选码...、插入、删除元组操作的操作变量,也叫主键、主码、关系键、关键字 简单来说就是从候选码中选出的一个最具代表性的 主属性:包含在任何一个候选码的各个属性称为主属性(也就是说,之前的(班级,姓名)中,班级和姓名都是主属性...) 非主属性:不包含在任何候选码中的属性 外码 关系R1,R2,其中属性集X是R1的非主码属性,但X是R2的主码,则称X是R1的外码(也叫外键、外部关系键),R1为参照关系,R2为被参照关系 外码的取值是由被参照的关系的主码的域决定的...因此学号或课程号不能单独作为主码 而学号和课程号分别是学生和课程的主码,则选课关系中,学号和课程号都是外码,并且学号和课程号是选课关系中的主属性 关系的完整性 为了维护关系数据库中数据与现实的一致性...有如下三类 实体完整性:主码的值不能为空或部分为空 参照完整性:外码来自被参照关系的主码,且可以为空,但作为被参考的关系的主码不能为空(外码可以为空时,外码通常是非主属性) 用户自定义完整性:针对某一具体关系数据的约束条件

    9210

    类之间的关系

    简单的说,类和类之间的关系有三种:is-a、has-a和use-a关系。 is-a关系也叫继承或泛化,比如学生和人的关系、手机和电子产品的关系都属于继承关系。...has-a关系通常称之为关联,比如部门和员工的关系,汽车和引擎的关系都属于关联关系;关联关系如果是整体和部分的关联,那么我们称之为聚合关系;如果整体进一步负责了部分的生命周期(整体和部分是不可分割的,同时同在也同时消亡...),那么这种就是最强的关联关系,我们称之为合成关系。...use-a关系通常称之为依赖,比如司机有一个驾驶的行为(方法),其中(的参数)使用到了汽车,那么司机和汽车的关系就是依赖关系。

    58830

    类图中的关系

    类图中的关系 关联关系 关联(Association)关系是类与类之间最常用的一种关系,它是一种结构化关系,用于表示一类对象与另一类对象之间有联系,如汽车和轮胎、师傅和徒弟、班级和学生等等。...在使用类图表示关联关系时可以在关联线上标注角色名,一般使用一个表示两者之间关系的动词或者名词表示角色名(有时该名词为实例对象名),关系的两端代表两种不同的角色,因此在一个关联关系中可以包含两个角色名,角色名不是必须的...Form类的对象关联,如图所示 聚合关系 聚合是关联关系的一种特例,他体现的是整体与部分、拥有的关系,即has-a的关系,此时整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象...组合关系 组合也是关联关系的一种特例,他体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束...关联和依赖 (1)关联关系中,体现的是两个类、或者类与接口之间语义级别的一种强依赖关系,比如我和我的朋友;这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的

    72820

    新奇物种:探寻关系链中的陪伴价值

    此外,在年轻用户热衷的社交游戏如《光遇》和《奥比岛》中,关系链玩法也越来越成熟,玩家可以通过持续的投入时间和金钱成本来提升关系亲密度(数值),并解锁更多的资源和道具。...这种玩法本质上是通过持续的投入来培育社交关系,增进玩家之间的互动和交流。 本质:通过持续投入成本来培育一段社交关系。2023年初,QQ基于这个背景上线了养成玩法玩法「新奇物种1.0」。...我们提取了QQ品牌的大眼睛,并且将这双大眼睛进行规范,并且运用在物种创作和新奇物种品牌应用之中。 同时,在物种的幼年时期,如果只是出现物种幼年形态,物种之间差异性较小。...3)真实世界联想:在一些物种,我们会参考真实世界的经验,比如橙子在幼年期是青橙,根据物种的成长,慢慢到达第三阶段 4)成熟期橙红色的饱满橙子。 5)动画区分:幼年期动画通常归纳为,基础位移&旋转。...,见证用户和密友之间的关系,成为一个治愈的小角落。

    26020

    数据库中关系代数中的关系运算

    除法运算的定义: ? 这个概念的描述的非常抽象,刚开始学习的同学完全不知所云。这里通过一个实例来说明除法运算的求解过程: 设有关系R、S 如图所示,求R÷S 的结果: ?...求解步骤过程: 第一步:找出关系R和关系S中相同的属性,即Y属性。在关系S中对Y做投影(即将Y列取出);所得结果如下: ?...第二步:被除关系R中与S中不相同的属性列是X,关系R在属性(X)上做取消重复值的投影为{X1,X2}; 第三步:求关系R中X属性对应的像集Y 根据关系R的记录,可以得到与X1值有关的记录,如图3...第四步:判断包含关系 R÷S其实就是判断关系R中X各个值的像集Y是否包含关系S中属性Y的所有值。...对比即可发现: X1的像集只有Y1,不能包含关系S中属性Y的所有值,所以排除掉X1; 而X2的像集包含了关系S中属性Y的所有值,所以R÷S的最终结果就是X2 , ?

    3.7K20

    漫谈 Free Software 和 Open Source 的关系、Copyright 和 License 的关系

    这档播客节目并不是要传播开源技术,而是希望广大开发者更好的了解开源历史、开源文化等,目的是帮助听众能更好的参与到开源项目中。...和 Richard 约做一档开源的播客还是 2017 年的事情了,今年在开源社开源年会上碰到他,并和几个圈内好友畅聊的时候才又激起继续的想法,终于借 Richard 出差到北京的机会面对面录制了这第一期节目...本期节目主要内容是 Richard 从专业的角度讲述了 Free Software 和 Open Source 的关系、License 和 Copyright 的关系,当然还有一堆闲聊。...主讲人 马全一 马全一,现任职于腾讯云容器产品中心,腾讯专家工程师,腾讯开源联盟委员会成员,容器领域、DevOps 和开源运营领域专家,擅长开源项目商业战略规划设计、开源社区运营、开发者关系维护和开源项目布道...主讲人 Richard Lin 林旅强 Richard Lin 林旅强,现为华为云AI开发者生态专家、开源社理事暨联合创始人、云计算开源产业联盟 (OSCAR) 专家,在中国大陆及中国台湾地区的开源社区担任长期贡献者

    1.2K20

    MongoDB的数据关系建模

    数据关系建模MongoDB中的数据关系建模方法包括嵌入式数据模型和引用式数据模型。嵌入式数据模型在嵌入式数据模型中,一个文档可以包含另一个文档。这种关系称为嵌入式关系。...嵌入式关系是MongoDB中最常用的关系类型之一。...这种嵌入式关系的优点是可以方便地在一个文档中保存相关数据,并且在查询时可以使用单个查询来检索所有相关的数据。缺点是,在嵌入式关系中,如果需要查询嵌入式文档中的某个字段,需要使用复杂的嵌套查询。...引用式数据模型在引用式数据模型中,一个文档通过引用另一个文档来建立关系。这种关系称为引用式关系。引用式关系是MongoDB中另一种常用的关系类型。...这种引用式关系的优点是可以方便地管理多个文档,并且可以使用简单的查询来检索相关的数据。缺点是,在引用式关系中,如果需要检索引用文档中的某些字段,需要执行额外的查询来检索引用文档。

    59220

    关系模型的相关术语

    基本术语 关系:整个二维表 关系名:表格名称 元组:行数据(记录) 属性:列数据(字段/分量) 属性名:列名称(字段名) 主键:唯一确定元组的属性组(关键字) 域:属性的取值范围 关系模式:关系的描述...连接依赖:为提高规范化程度,都是通过把低一级的关系模式分解为若干个高一级的关系模式来实现的,在此过程中,应该保证分解后产生的关系模式与原来的模式等价。...二、关系模式的规范化 满足第一范式条件的关系模式(1NF):关系模式 R的每一个属性都是原子域,元组的每一个分量都是不可分割的数据项。...满足第三范式条件的关系模式(3NF):关系模式 R∈2NF ,每一个非主属性不传递依赖于码,消除非主属性对码的传递函数依赖(对非主属性的函数依赖)。...(限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖) 满足第五范式条件的关系模式(5NF):关系模式 R∈4NF,消除属于4NF的关系模式中存在的连接依赖。

    1.1K10
    领券