我试图获取每个用户在课程中的出勤情况,其中用户和课程之间存在多对多的关系,并且出勤表基于这种关系。但是我无法直接调用
以下是我的数据库方案示例。
我需要运行:
$user->pivot->attendance();
,我必须先调用pivot对象本身,以便我可以像答案中所示调用它的函数。以下是我的数据库方案示例。
我需要运行:
$users=$course->users;
foreach($users as $user)
{
$user->pivot->attendance(); //error in this line
}
这一行代码出现了错误
调用 Illuminate\Database\Query\Builder::attendance() 方法未定义
用户们
id
name
etc
课程
id
name
startDate
endDate
课程用户
id
course_id
user_id
payment
regDate
status
用户出勤记录
id
course_user_id
time
inOrOut
这里是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');
}
}
附言:$user->pivot->payment可以工作并显示属性,但我无法调用方法。
newPivot
方法,以便它使用你自己的枢轴类。 - Joseph Silber