Laravel 多态关系
Laravel polymorphic relationship
我有不同的数据库表,下面是数据库图。
我正在尝试建立多对多多态关系,但没有运气,请指导我我需要做什么,意味着我需要在哪里添加哪种类型 relationship/code?
课程模型
class Course extends Eloquent {
public function quizzes()
{
return $this->morphToMany('Quiz', 'quizzable');
}
}
章节模型
class Chapter extends Eloquent {
public function quizzes()
{
return $this->morphToMany('Quiz', 'quizzable');
}
}
课程模型
class Lesson extends Eloquent {
public function quizzes()
{
return $this->morphToMany('Quiz', 'quizzable');
}
}
测验模型
class Quiz extends Eloquent {
public function courses()
{
return $this->morphedByMany('Course', 'quizzable');
}
public function chapters()
{
return $this->morphedByMany('Chapter', 'quizzable');
}
public function lessons()
{
return $this->morphedByMany('Lesson', 'quizzable');
}
}
来源:http://laravel.com/docs/4.2/eloquent#many-to-many-polymorphic-relations
我会将 quizzes_assigned table 更改为:
Table name: quizzables
quiz_id - integer
quizzable_id - integer
quizzable_type - string
我有不同的数据库表,下面是数据库图。 我正在尝试建立多对多多态关系,但没有运气,请指导我我需要做什么,意味着我需要在哪里添加哪种类型 relationship/code?
课程模型
class Course extends Eloquent {
public function quizzes()
{
return $this->morphToMany('Quiz', 'quizzable');
}
}
章节模型
class Chapter extends Eloquent {
public function quizzes()
{
return $this->morphToMany('Quiz', 'quizzable');
}
}
课程模型
class Lesson extends Eloquent {
public function quizzes()
{
return $this->morphToMany('Quiz', 'quizzable');
}
}
测验模型
class Quiz extends Eloquent {
public function courses()
{
return $this->morphedByMany('Course', 'quizzable');
}
public function chapters()
{
return $this->morphedByMany('Chapter', 'quizzable');
}
public function lessons()
{
return $this->morphedByMany('Lesson', 'quizzable');
}
}
来源:http://laravel.com/docs/4.2/eloquent#many-to-many-polymorphic-relations
我会将 quizzes_assigned table 更改为:
Table name: quizzables
quiz_id - integer
quizzable_id - integer
quizzable_type - string