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

 更新时间:2019年10月10日 10:22:44   作者:SHUIPING_YANG   我要评论
今天小编就为大家分享一篇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图片缩放实现方法

    php图片缩放实现方法

    这篇文章主要介绍了php图片缩放实现方法,需要的朋友可以参考下
    2014-02-02
  • 详解PHP素材图片上传、下载功能

    详解PHP素材图片上传、下载功能

    这篇文章主要介绍了PHP图片上传下载功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • ThinkPHP中U方法的使用浅析

    ThinkPHP中U方法的使用浅析

    这篇文章主要介绍了ThinkPHP中U方法的使用,需要的朋友可以参考下
    2014-06-06
  • PHP Web木马扫描器代码 v1.0 安全测试工具

    PHP Web木马扫描器代码 v1.0 安全测试工具

    PHP Web 木马扫描器 - 安全测试工具,一个在php环境下扫描php木马的工具,目前可扫出以下特征码。懒惰设计,直接套用phpspy样式。注意: 扫描出来的文件并不一定就是后门, 请自行判断、审核、对比原文件
    2012-01-01
  • twig模板获取全局变量的方法

    twig模板获取全局变量的方法

    这篇文章主要介绍了twig模板获取全局变量的方法,结合实例形式分析了twig模板操作变量的常用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-02-02
  • Linux下PHP安装mcrypt扩展模块笔记

    Linux下PHP安装mcrypt扩展模块笔记

    这篇文章主要介绍了Linux下PHP安装mcrypt扩展模块笔记,本文同时给出了Libmcrypt、mhash的安装过程,需要的朋友可以参考下
    2014-09-09
  • ThinkPHP控制器间实现相互调用的方法

    ThinkPHP控制器间实现相互调用的方法

    这篇文章主要介绍了ThinkPHP控制器间实现相互调用的方法,主要通过A()方法实现这一功能,可以有效的提高代码的重复利用率,非常具有实用价值,需要的朋友可以参考下
    2014-10-10
  • Yii2框架实现登录、退出及自动登录功能的方法详解

    Yii2框架实现登录、退出及自动登录功能的方法详解

    这篇文章主要介绍了Yii2框架实现登录、退出及自动登录功能的方法,结合实例形式详细分析了Yii2框架实现登录、退出及自动登录功能的原理、实现方法与相关操作注意事项,需要的朋友可以参考下
    2017-10-10
  • PHP中将ip地址转成十进制数的两种实用方法

    PHP中将ip地址转成十进制数的两种实用方法

    现在PHP中有很多时候都会用到ip地址,但是这个ip地址获取的时候都不是10进制的。那么PHP中如何将ip地址转成十进制数,下面为大家介绍下两种方法可以轻松实现
    2013-08-08
  • php each 返回数组中当前的键值对并将数组指针向前移动一步实例

    php each 返回数组中当前的键值对并将数组指针向前移动一步实例

    php each函数用于获取数组的键值对,并将数组指针向前移动一步, each函数经常和list结合使用来遍历数组。本文章向大家介绍each的基本使用方法,需要的朋友可以参考下
    2016-11-11

最新评论