我遇到了急切加载的问题。
假设我有成员、培训类别、培训类别结果和注册模型。
成员模型:
培训类别模型:
培训类别结果模型:
注册模型:
我正在尝试急切加载所有的注册信息及其相关信息,包括TraningCategoryResult信息,但我不确定如何获取需要两个外键(category_id和member_id)的TraningCategoryResult,有没有办法做到这一点?
以下是我目前的代码:
谢谢你。
成员模型:
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');
}
培训类别模型:
public function trainings() {
return $this->hasMany('Training', 'id');
}
public function trainingCategoryResults() {
return $this->hasMany('trainingCategoryResult', 'category_id');
}
培训类别结果模型:
public function category() {
return $this->belongsTo('TrainingCategory', 'id');
}
public function member() {
return $this->belongsTo('Member', 'id');
}
注册模型:
public function course() {
return $this->belongsTo('Course', 'course_id');
}
public function member() {
return $this->belongsTo('Member', 'id');
}
我正在尝试急切加载所有的注册信息及其相关信息,包括TraningCategoryResult信息,但我不确定如何获取需要两个外键(category_id和member_id)的TraningCategoryResult,有没有办法做到这一点?
以下是我目前的代码:
$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']);
谢谢你。
Registration::with('member.trainingCategoryResults')->get();
- Torgheh