I'm having problems with impatience. Say I have member models, TrainingCategory, TrainingCategoryResult, and Registration
Member Model:
public function registration() { return $this->hasMany('Registration', 'member_id'); } public function trainingResults(){ return $this->hasMany('trainingResult', 'member_id'); } public function trainingCategoryResults() { return $this->hasMany('TrainingCategoryResult', 'member_id'); }
Training Model:
public function trainings() { return $this->hasMany('Training', 'id'); } public function trainingCategoryResults() { return $this->hasMany('trainingCategoryResult', 'category_id'); }
TraningCategoryResult Model:
public function category() { return $this->belongsTo('TrainingCategory', 'id'); } public function member() { return $this->belongsTo('Member', 'id'); }
Registration Model:
public function course() { return $this->belongsTo('Course', 'course_id'); } public function member() { return $this->belongsTo('Member', 'id'); }
I am trying to download all registration information and related information, including TraningCategoryResult information, but I'm not sure how to get this TraningCategoryResult that requires two foreign keys (category_id and member_id), is there any way to do this?
Here is my atm code:
$members= Member::where(function($query) use ($id, $site) { $query ->where('id', '=', $id) ->where('site', '=', $site); }); $members= $members ->with('registration.course', 'registration.course.traningCategories', ->get(['member.id']);
Thanks.