使用HasManyThrough

时间:2019-06-17 15:09:01

标签: laravel eloquent

我正在尝试使用HasManyThrough获得相关记录的过滤列表。 未过滤的HasManyThrough可以正常工作。但是,由于并非所有记录都具有关系(即在某些记录上HasManyThrough为null),因此在尝试过滤结果时会出现“调用成员函数where()on null”错误。

protected $appends = ['retention'];

public function getRetentionAttribute() {

    $this->hasManyThrough(
        'App\Attendance',
        'App\ClassCourseInstance',
        'course_id', 
        'class_id', 
        'id', 
        'id' 
    );

    return $this->attendance->where('checked_time' , '!=' , NULL)->count();

}

0 个答案:

没有答案