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 相关文章推荐
一个自定义位数的php多用户计数器代码
Mar 11 PHP
php面向对象的方法重载两种版本比较
Sep 08 PHP
php一些错误处理的方法与技巧总结
Aug 10 PHP
php查找任何页面上的所有链接的方法
Dec 03 PHP
php的一个简单加密解密代码
Jan 14 PHP
php除数取整示例
Apr 24 PHP
Smarty foreach控制循环次数的一些方法
Jul 01 PHP
php实现点击可刷新验证码
Nov 07 PHP
php使用curl实现ftp文件下载功能
May 16 PHP
PHP排序算法之堆排序(Heap Sort)实例详解
Apr 21 PHP
PHP date_default_timezone_set()设置时区操作实例分析
May 16 PHP
如何重写Laravel异常处理类详解
Dec 20 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
php生成的html meta和link标记在body标签里 顶部有个空行
2010/05/18 PHP
php中用数组的方法设置cookies
2011/04/21 PHP
Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室
2016/08/17 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
2018/06/16 PHP
js拖动div 当鼠标移动时整个div也相应的移动
2013/11/21 Javascript
node.js中的fs.lchownSync方法使用说明
2014/12/16 Javascript
JSON与XML优缺点对比分析
2015/07/17 Javascript
谈谈对offsetleft兼容性的理解
2015/11/11 Javascript
javascript中new关键字详解
2015/12/14 Javascript
JS中的二叉树遍历详解
2016/03/18 Javascript
JS+CSS实现的漂亮渐变背景特效代码(6个渐变效果)
2016/03/25 Javascript
jQuery实现div横向拖拽排序的简单实例
2016/07/13 Javascript
js显示动态时间的方法详解
2016/08/20 Javascript
使用ReactJS实现tab页切换、菜单栏切换、手风琴切换和进度条效果
2016/10/17 Javascript
浅谈js中的变量名和函数名重名
2017/02/13 Javascript
jquery实现图片平滑滚动详解
2017/03/22 jQuery
Bootstrap实现的经典栅格布局效果实例【附demo源码】
2017/03/30 Javascript
Vue.js组件间的循环引用方法示例
2017/12/27 Javascript
详解Node.js中的Async和Await函数
2018/02/22 Javascript
layui的layedit富文本赋值方法
2019/09/18 Javascript
小程序实现按下录音松开识别语音
2019/11/22 Javascript
js中关于Blob对象的介绍与使用
2019/11/29 Javascript
[01:00:25]2018DOTA2亚洲邀请赛3月30日 小组赛A组 VG VS Liquid
2018/03/31 DOTA
[52:37]完美世界DOTA2联赛循环赛 Forest vs DM BO2第一场 10.29
2020/10/29 DOTA
python解析html开发库pyquery使用方法
2014/02/07 Python
Python常用小技巧总结
2015/06/01 Python
从头学Python之编写可执行的.py文件
2017/11/28 Python
Python求平面内点到直线距离的实现
2020/01/19 Python
Python如何通过百度翻译API实现翻译功能
2020/04/02 Python
HTML5标签嵌套规则详解【必看】
2016/04/26 HTML / CSS
北美大型运动类产品商城:Champs Sports
2017/01/12 全球购物
什么是接口(Interface)?
2013/02/01 面试题
.NET方向面试题
2014/11/20 面试题
厨房管理计划书
2014/04/27 职场文书
经理岗位职责范本
2015/04/15 职场文书
Java字符缓冲流BufferedWriter
2022/04/09 Java/Android