【发布时间】:2021-09-11 14:56:02
【问题描述】:
我既不是 PHP 也不是 Laravel 的专业人士,我想我走投无路了。在我的评估应用程序中,我有课程、课程和评估测试。评估测试与课程具有多对一的关系。课程与课程也有多对一的关系。 现在问题来了,如何检索assessment_tests 集合所属的所有课程? 如 sn-ps 提供的代码所示,我试图通过手动循环遍历集合并将课程保存到数组来解决这个问题,但我遇到了一些奇怪的错误。
试图获取非对象的属性“课程”
这是我有问题的功能
public function index()
{
$attempts=AssessmentAttempt::all();
$i=0;
$courses=array();
foreach ($attempts as $attempt) {
// dd($attempt->lesson->course);
$courses[$i++]=$attempt->lesson->course;
}
dd(array_unique($courses));
return view('achievements.index', ['attempts'=>$attempts, 'courses'=>$courses]);
}
AssessmentAttempt 模型
public function lesson()
{
return $this->belongsTo(Lesson::class);
}
课程模型
public function course()
{
return $this->belongsTo(Course::class);
}
public function assessmentAttempts()
{
return $this->hasMany(AssessmentAttempt::class);
}
【问题讨论】:
标签: php laravel relationship