Laravel关系模型指定条件查询方法
吾爱主题
阅读:171
2021-08-29 16:25:00
评论:0
对于关系模型来说,有时候我们需要甄别关联后结果,例如,班级和学生是一对多关联,我现在查询班级,但是想只显示正常状态,即状态为1的学生,因为有的学生从这个班级里面删除了,状态是4,那么我们在查询的时候就可以使用如下语法:
1、定义关联关系:
Class模型:
?1 2 3 | public function learners() { return $this ->belongsToMany( 'App\Models\Customer' , 'learner_relation' , 'class_id' , 'learner_id' ); } |
Customer模型:
?1 2 3 | public function learnerclasses() { return $this ->belongsToMany( 'App\Models\MyClass' , 'learner_relation' , 'learner_id' , 'class_id' ); } |
2、查询代码:
?1 2 3 4 5 6 7 8 | $data = MyClass::with([ 'learners' => function ( $query ) { $query ->select() ->where( 'learner_relation.status' , 1) ->orderBy( 'learner_relation.create_time' , 'desc' ); }, ]) ->find( $id ); |
然后得到的结果就是我们想要的正常的学生。
以上这篇Laravel关系模型指定条件查询方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/zhezhebie/article/details/78871731
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。