我正在尝试使课程与用户和课程之间具有多对多关系,并且出勤率表基于该关系来获得每位用户的出勤率。但是我无法直接调用$user->pivot->attendance();
,我不得不自行调用数据透视对象,因此我可以对其调用函数,如您在答案中所见]
以下是我的数据库方案的示例
我需要跑步
$users=$course->users; foreach($users as $user) { $user->pivot->attendance(); //error in this line }
此行给与错误
调用未定义的方法照亮\数据库\查询\生成器:: attendance()
用户
id name etc
课程
id name startDate endDate
course_user
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'); } }
P.S:$ user-> pivot->付款有效并显示属性,但我无法调用方法
我正在尝试使课程与用户和课程之间具有多对多关系,并且出勤率表基于该关系来获得每位用户的出勤率。但是我不能叫$ ...
您不能使用$user->pivot->attendance();
,因为这会在用户对象而非枢纽对象上呼叫出勤
[我试图完成同样的事情,直到将我的自定义数据透视模型的'id'列包含在withPivot()方法中,我一直无法正常工作。