Laravel关系模型指定条件查询方法


Posted in PHP onOctober 10, 2019

对于关系模型来说,有时候我们需要甄别关联后结果,例如,班级和学生是一对多关联,我现在查询班级,但是想只显示正常状态,即状态为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 相关文章推荐
Discuz 5.0 中读取纯真IP数据库函数分析
Mar 16 PHP
Ha0k 0.3 PHP 网页木马修改版
Oct 11 PHP
PHP项目开发中最常用的自定义函数整理
Dec 02 PHP
使用PHP求两个文件的相对路径
Jun 20 PHP
php格式化日期实例分析
Nov 12 PHP
Yii使用ajax验证显示错误messagebox的解决方法
Dec 03 PHP
php中的常用魔术方法汇总
Feb 14 PHP
php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)
Mar 14 PHP
PHP实现根据数组某个键值大小进行排序的方法
Mar 13 PHP
PHP实现十进制数字与二十六进制字母串相互转换操作示例
Aug 10 PHP
PHP与SQL语句写一句话木马总结
Oct 11 PHP
php使用fputcsv实现大数据的导出操作详解
Feb 27 PHP
laravel 输出最后执行sql 附:whereIn的使用方法
Oct 10 #PHP
基于laravel where的高级使用方法
Oct 10 #PHP
laravel 实现设置时区的简单方法
Oct 10 #PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
Oct 10 #PHP
Laravel Eloquent ORM 多条件查询的例子
Oct 10 #PHP
laravel withCount 统计关联数量的方法
Oct 10 #PHP
浅谈laravel中的关联查询with的问题
Oct 10 #PHP
You might like
php5.2.0内存管理改进
2007/01/22 PHP
比较全面的PHP数组的使用方法小结
2010/09/23 PHP
php简单浏览目录内容的实现代码
2013/06/07 PHP
php禁止直接从浏览器输入地址访问.php文件的方法
2014/11/04 PHP
PHP页面跳转操作实例分析(header方法)
2016/09/28 PHP
PHP设计模式之PHP迭代器模式讲解
2019/03/22 PHP
Yii框架操作cookie与session的方法实例详解
2019/09/04 PHP
基于jquery的滚动条滚动固定div(附演示下载)
2012/10/29 Javascript
Js如何判断客户端是PC还是手持设备简单分析
2012/11/22 Javascript
理解JS事件循环
2016/01/07 Javascript
require.js 加载过程与使用方法介绍
2018/10/30 Javascript
element vue validate验证名称重复 输入框与后台重复验证 特殊字符 字符长度 及注意事项小结【实例代码】
2018/11/20 Javascript
vue的注意规范之v-if 与 v-for 一起使用教程
2019/08/04 Javascript
vue中npm包全局安装和局部安装过程
2019/09/03 Javascript
vue实现评价星星功能
2020/06/30 Javascript
.netcore+vue 实现压缩文件下载功能
2020/09/24 Javascript
[50:58]2018DOTA2亚洲邀请赛3月29日 小组赛A组OpTic VS Newbee
2018/03/30 DOTA
[06:06]2018DOTA2亚洲邀请赛主赛事第四日战况回顾 全明星赛欢乐上演
2018/04/07 DOTA
python实现监控linux性能及进程消耗性能的方法
2014/07/25 Python
wxpython中利用线程防止假死的实现方法
2014/08/11 Python
python2.7实现爬虫网页数据
2018/05/25 Python
python提取具有某种特定字符串的行数据方法
2018/12/11 Python
详解Python 多线程 Timer定时器/延迟执行、Event事件
2019/06/27 Python
twilio python自动拨打电话,播放自定义mp3音频的方法
2019/08/08 Python
python绘制封闭多边形教程
2020/02/18 Python
python中round函数如何使用
2020/06/19 Python
python爬虫beautifulsoup库使用操作教程全解(python爬虫基础入门)
2021/02/19 Python
AmazeUI的JS表单验证框架实战示例分享
2020/08/21 HTML / CSS
现代家居用品及礼品:LBC Modern
2018/06/24 全球购物
世界上最大的隐形眼镜商店:1-800 Contacts
2018/11/03 全球购物
非常详细的C#面试题集
2016/07/13 面试题
资料员岗位职责
2013/11/17 职场文书
生日主持词
2014/03/20 职场文书
安全责任协议书
2014/04/21 职场文书
焦裕禄精神心得体会
2014/09/02 职场文书
《赵州桥》教学反思
2016/02/17 职场文书