对于关系模型来说,有时候我们需要甄别关联后结果,例如,班级和学生是一对多关联,我现在查询班级,但是想只显示正常状态,即状态为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关系模型指定条件查询方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:- Laravel5.1 框架模型查询作用域定义与用法实例分析
- Laravel5.1 框架模型工厂ModelFactory用法实例分析
- Laravel5.1 框架模型软删除操作实例分析
- Laravel5.1 框架模型创建与使用方法实例分析
- Laravel 5框架学习之模型、控制器、视图基础流程
- Laravel模型间关系设置分表的方法示例
- Laravel 实现关系模型取出需要的字段
- 详解Laravel设置多态关系模型别名的方式
- Laravel模型事件的实现原理详解
- Laravel框架模型的创建及模型对数据操作示例
- Laravel使用模型实现like模糊查询的例子
- Laravel5.1 框架模型一对一关系实现与使用方法实例分析