我正在尝试使用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();
}