我试图获取课程中每个用户的出勤情况,其中用户和课程具有多对多关系,并且出勤表基于该关系。但我无法$user->pivot->attendance();直接调用,我必须调用枢轴对象本身,这样我就可以调用它的函数,正如您在答案中看到的那样
以下是我的数据库方案的示例
我需要跑
$users=$course->users;
foreach($users as $user)
{
$user->pivot->attendance(); //error in this line
}
Run Code Online (Sandbox Code Playgroud)
这一行给出了错误
调用未定义的方法 Illuminate\Database\Query\Builder::attendance()
用户
id
name
etc
Run Code Online (Sandbox Code Playgroud)
培训班
id
name
startDate
endDate
Run Code Online (Sandbox Code Playgroud)
课程用户
id
course_id
user_id
payment
regDate
status
Run Code Online (Sandbox Code Playgroud)
用户出席率
id
course_user_id
time
inOrOut
Run Code Online (Sandbox Code Playgroud)
这是 CourseUserPivot 类
class CourseUserPivot extends Eloquent {
protected $table ="course_user";
public function course()
{
return $this->belongsTo('Course');
}
public function user()
{
return $this->belongsTo('User');
}
public function attendance()
{
return $this->hasMany('Userattendance','course_user_id');
}
}
Run Code Online (Sandbox Code Playgroud)
PS:$user->pivot-> payment可以工作并显示属性,但我无法调用方法