当前位置 主页 > 网站技术 > 代码类 >

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

    栏目:代码类 时间:2019-10-21 15:04

    对于关系模型来说,有时候我们需要甄别关联后结果,例如,班级和学生是一对多关联,我现在查询班级,但是想只显示正常状态,即状态为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关系模型指定条件查询方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持IIS7站长之家。