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实现小型站点广告管理(修正版)
Oct 09 PHP
php中static静态变量的使用方法详解
Jun 04 PHP
PHP读取文件并可支持远程文件的代码分享
Oct 03 PHP
php中检查文件或目录是否存在的代码小结
Oct 22 PHP
分享下页面关键字抓取components.arrow.com站点代码
Jan 30 PHP
PHP curl伪造IP地址和header信息代码实例
Apr 27 PHP
php验证码生成代码
Nov 11 PHP
java模拟PHP的pack和unpack类
Apr 13 PHP
php基于SQLite实现的分页功能示例
Jun 21 PHP
PHP实现的分页类定义与用法示例
Jul 05 PHP
php 使用expat方式解析xml文件操作示例
Nov 26 PHP
微信小程序结合ThinkPHP5授权登陆后获取手机号
Nov 23 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
一个简单的MySQL数据浏览器
2006/10/09 PHP
基于mysql的论坛(3)
2006/10/09 PHP
PHP 获取远程文件内容的函数代码
2010/03/24 PHP
PHP 安全检测代码片段(分享)
2013/07/05 PHP
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
2014/02/18 PHP
php cookie中点号(句号)自动转为下划线问题
2014/10/21 PHP
微信公众平台开发关注及取消关注事件的方法
2014/12/23 PHP
php实现redis数据库指定库号迁移的方法
2015/01/14 PHP
一个可以随意添加多个序列的tag函数
2009/07/21 Javascript
用document.documentElement取代document.body的原因分析
2009/11/12 Javascript
用Javascript来生成ftp脚本的小例子
2013/07/03 Javascript
jquery append()方法与html()方法的区别及使用介绍
2014/08/01 Javascript
Javascript 数组排序详解
2014/10/22 Javascript
浅析javascript异步执行函数导致的变量变化问题解决思路
2016/05/13 Javascript
AngularJS中transclude用法详解
2016/11/03 Javascript
jsp 自动编译机制详细介绍
2016/12/01 Javascript
手机端js和html5刮刮卡效果
2020/09/29 Javascript
Boostrap栅格系统与自己额外定义的媒体查询的冲突问题
2017/02/19 Javascript
利用prop-types第三方库对组件的props中的变量进行类型检测
2017/05/02 Javascript
详解vue-admin和后端(flask)分离结合的例子
2018/02/12 Javascript
Vue.js实现可配置的登录表单代码详解
2018/03/29 Javascript
jsonp实现百度下拉框功能的方法分析
2019/05/10 Javascript
thinkjs微信中控之微信鉴权登陆的实现代码
2019/08/08 Javascript
[03:36]2014DOTA2 TI小组赛综述 八强诞生进军钥匙球馆
2014/07/15 DOTA
修改Python的pyxmpp2中的主循环使其提高性能
2015/04/24 Python
Python中Selenium模拟JQuery滑动解锁实例
2017/07/26 Python
Python使用arrow库优雅地处理时间数据详解
2017/10/10 Python
Python3中exp()函数用法分析
2019/02/19 Python
Python序列化pickle模块使用详解
2020/03/05 Python
python thrift 实现 单端口多服务的过程
2020/06/08 Python
梵蒂冈和罗马卡:Omnia Card Pass
2018/02/10 全球购物
HolidayLettings英国:预订最好的度假公寓、别墅和自助式住宿
2019/08/27 全球购物
世界上最大的乐谱选择:Sheet Music Plus
2020/01/18 全球购物
学前教育专业毕业生自荐信
2013/10/03 职场文书
元旦晚会邀请函
2014/01/27 职场文书
医学求职自荐信
2014/06/21 职场文书