php ci model条件查询,Laravel关系模型指定条件查询方法
对于关系模型来说,有时候我们需要甄别关联后结果,例如,班级和学生是一对多关联,我现在查询班级,但是想只显示正常状态,即状态为1的学生,因为有的学生从这个班级里面删除了,状态是4,那么我们在查询的时候就可以使用如下语法:
1、定义关联关系:
Class模型:
public function learners() {
return $this->belongsToMany('App\Models\Customer', 'learner_relation', 'class_id', 'learner_id');
}
Customer模型:
public function learnerclasses() {
return $this->belongsToMany('App\Models\MyClass', 'learner_relation', 'learner_id', 'class_id');
}
2、查询代码:
$data = MyClass::with([
'learners' => function ($query) {
$query->select()
->where('learner_relation.status', 1)
->orderBy('learner_relation.create_time', 'desc');
},
])
->find($id);
然后得到的结果就是我们想要的正常的学生。
以上这篇Laravel关系模型指定条件查询方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
php ci model条件查询,Laravel关系模型指定条件查询方法相关推荐
- sql查询结果集根据指定条件排序的方法
oracle认为 null 最大. 升序排列,默认情况下,null值排后面. 降序排序,默认情况下,null值排前面. 有几种办法改变这种情况: (1)用 nvl 函数或decode 函数 将null ...
- 常用的数据模型及其对比(层次模型、网状模型、关系模型)
数据库领域中主要的逻辑数据模型有:层次模型.网状模型.关系模型.面向对象数据模型等,我们重点讲解了**层次模型.网状模型.关系模型**. 1.1 层次模型 层次数据库系统的典型代表是IBM公司的Inf ...
- 2.1 关系模型的基本概念
文章目录 2.1.1 基本术语 定义2.1 用二维表格表示实体集,用关键码表示实体间联系的数据模型称为关系模型(relational Model). 在关系模型中, 关键码(key,简称键)由一个或多 ...
- 子查询及其分类(标量子查询+列子查询+行子查询+表子查询)
子查询 什么是子查询 子查询概念 子查询:sub query 子查询是一种常用计算机语言SELECT-SQL语言中嵌套查询下层的程序模块.当一个查询是另一个查询的条件时,称之为子查询. 子查询:指在一 ...
- Laravel最佳实践--根据搜索参数为Model查询应用不同的Where条件
我们平时使用Laravel的Model查询当查询应用了多个条件的时候一般都是链式调用,像下面这样: User::where('age', '=', 18)->where('sex', '=', ...
- Django框架(14.Django中模型类的关系,以及模型类关联查询)
Django中模型类的关系,以及模型类关联查询 1.模型类关系 1.1 一对多关系 1.2多对多关系 1.3 一对一关系 1.4 一对多举例: 1.5 多对多举例: 1.6 一对一举例: 2.关联查询 ...
- Django学习笔记(3):使用模型类进行查询(查询函数、F对象、Q对象、聚合函数、查询集、模型类关系、关联查询、自关联、管理器)
文章目录 1.查询函数 2.F对象 3.Q对象 4.聚合函数 5.Count函数 6.查询集 查询集的特性 对查询集进行切片 判断一个查询集中是否有数据 7.模型类之间的关系 一对多关系 多对多关系 ...
- 二十八、PHP框架Laravel学习笔记——模型的关联查询
二.关联查询 前几篇博文,了解了三种基础的关联模型,并简单的进行查询: 本节课,我们详细的了解更多的查询方案: //下面两种查询是一样的: $books = User::find(19)->bo ...
- Django开发实战2-5 模型- 基础条件查询
Django开发实战2-5 模型-基础条件查询 一.基本查询 1.使用FilmInfo/PeopleInfo.objects.get() 查询fid=2的 数据 2.使用FilmInfo/People ...
最新文章
- android TextView里边实现图文混配效果
- Java笔试题-Listint l = new Listint()
- 重构战略到执行的绩效管理体系
- Java:一个分数类的简单设计
- CSS 颜色 表示方法
- 【机器学习】逻辑回归优化技巧总结(全)
- 虚拟机ubuntu安装ssh服务器,经过Xshell远程链接虚拟机VMVARE中的Ubuntu
- zk 布局_ZK实际应用:样式和布局
- ant中的table和pagination表格分页结合使用 手写分页
- mysql privileges
- CSS多行文字垂直居中的两种方法
- pattern recognition letter 投稿时word 模板的说明乱码
- android 控件xpath软件_请像用户使用软件一样,享受自动化测试~
- 小程序 · 引入企业微信中的「在小程序中加入群聊」插件
- Difference between Static video and Single image ?静态视频和单张图像的区别
- 中职学校计算机教学参考文献,中职计算机教学论文
- 简单的交叉熵损失函数,你真的懂了吗?
- 专访 PMC,开源项目 Apache Pulsar 如何挑战 Kafka?
- 找单身狗版本2(有两个单身狗)
- 欧文计算机科学排名,2020年加州大学欧文分校排名TFE Times美国最佳计算机科学硕士专业排名第36...
热门文章
- IE Firefox css 差别 [转]
- mysql grant查看用户权限命令
- 华为鸿蒙话题作文800字,关于鸿蒙OS 华为最高层发布最新通知:统一口径-华为,智能手机,鸿蒙...
- python settings模块导入不了_无法导入设置“myproject.settings”(是否在sys.path上?):没有名为pinax的模块...
- 从SVN迁移到Git(包括SVN历史纪录)【最系统的讲解】
- 服务器系统报错kernel-power,第十二讲、Linux服务器操作系统1.ppt
- java+jsp+网页制作,java+jsp+mysql网页制作总结(2)
- 【APICloud系列|3】开发APP对UI的一般性要求
- linux系统的4个部分,以下是Linux文件系统的4个相关的结构定义中的一部分: Struct i..._考试资料网...
- matlab中的控制语句,MATLAB控制语句