【发布时间】:2018-11-29 08:52:52
【问题描述】:
我找不到它为什么不起作用。
在我的课程模型中,我定义了关系:
class Course extends Model {
public function courseDates() {
return $this->hasMany(CourseDate::class, 'course_id');
}
}
在我的 CourseDate 模型中:
class CourseDate extends Model {
public function course() {
return $this->belongsTo(Course::class);
}
}
当我尝试从 Course 访问 CourseDates 时,我总是会得到 null,但是当我从 CourseDate 访问 Course 时,它可以工作并且我看到所有数据:
var_dump(CourseDate::where('id', 1)->first()->course->name); => output: "Course 1"
var_dump(Course::where('id', 1)->first()->courseDate); => output: null
奇怪的是,当我在另一门课程(如 ID 2)上尝试它时,它会起作用。数据库中的数据是完全一样的。有什么想法吗?
【问题讨论】:
-
检查
CourseDate模型中的类名。请添加您的数据库详细信息。 -
您的
var_dump中有错字。您正在尝试访问courseDate,但关系方法称为courseDates。
标签: laravel eloquent eloquent-relationship