我目前正在为我的作业做一个项目,但我没有设法看到这样的东西来解决我的问题。
我有2个型号分别为Course
和CourseLecture
。并且我在课堂上根据互联网上的教程使用getPathAttribute
。
在我的课程模型中,我正在使用像这样的getPathAttribute:
public function getPathAttribute()
{
return "/clientside/instructor/courses/$this->slug";
}
和我的CourseLecture模型中:
public function getPathAttribute()
{
return "/clientside/instructor/courses/{course}/lectures/$this->slug";
}
我需要将课程提示放到该getPathAttribute上,例如:
http://url.com/clientside/instructor/courses/php/lectures/one
我的CourseLecture
也正在使用course_id
,而且我之间有一种关系,它们之间的关系是belongsTo' and
HasMany'。那么如何在此路径中基于此构造函数添加课程资料?
为此作业,我还要使用Vue.js / Laravel。这是一个水疗中心。我已经标记了vue.js bcs,如果有任何通过路由器解决此问题的解决方案,我将很乐意使用它。
答案 0 :(得分:1)
您可以从course slug
模型上定义的course()
关系中动态获取CourseLecture
。见下文:
在CourseLecture
模型中:
protected $appends = ['path'];
// relationship
public function course()
{
return $this->belongsTo(Course::class);
}
public function getPathAttribute()
{
return "/clientside/instructor/courses/{$this->course->slug}/lectures/$this->slug";
}