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

吾爱主题 阅读:146 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.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容