OneToMany 关系的关联 table

associative table for OneToMany relation

我正在开发字幕机器人,其中:

这些是我的表格(感谢 DaveRandom):

问题是,据我所知,关联表用于多对多关系(如果我错了请纠正我),我有点被困在这里,尤其是 Eloquent belongsToMany 方法:

class Subtitle extends Model {
    public $guarded = [];
    public $timestamps = false;


    public function SeriesEpisodes()
    {
        return $this->belongsToMany('SeriesEpisode', null, null, 'series_episodes_subtitle');
    }


    public function Movie()
    {
        return $this->belongsToMany('Movie');
    }
}

但问题是,一个字幕属于一个剧集,而一个剧集可能有很多字幕。 我想知道如何将关联表用于这种结构。 或者我应该改变结构?

所以我试图通过多态关系实现的目标是可能的, 删除了 2 个关联 table,而是将 2 个字段添加到字幕 table: 例如:parent_type、parent_id

那么我可以使用:

字幕:

class Subtitle extends Model {
    public $guarded = [];
    public $timestamps = false;

    public function Parent()
    {
        return $this->morphTo();
    }
}

series_episodes:

class SeriesEpisode extends Model {
    public $timestamps = false;
    public $guarded = [];
    public function Subtitles()
    {
        return $this->morphMany('Subtitle', 'Owner');
    }
}

电影:

class Movie extends Model {
    public $timestamps = false;
    public $guarded = [];
    public function Subtitles()
    {
    return $this->morphMany('Subtitle', 'Owner');
    }
}

希望对其他人有所帮助。