Laravel没有在中间数据透视表BelongsToMany关系中保存外键

时间:2019-01-12 02:32:11

标签: mysql laravel-5.7

数据库架构:https://www.db-fiddle.com/f/rw5JvXF21oCQWZNJcMFnVj/1

我正在使用laravel 5.7。在我的项目中,https://www.db-fiddle.com/f/rw5JvXF21oCQWZNJcMFnVj/1中显示了表结构。

在模型中,我定义的关系如下。

Playlist.php

     public function scheduledPlaylist()
     {
        return $this->hasOne(ScheduledPlaylist::class,'playlist_id','id');
     }

SchedulePlaylist.php

public function schedule_playlist_tracks()
{
    return $this->belongsToMany(Track::class, 'scheduled_playlist_tracks','playlist_id', 'track_id')->withPivot('index');
}

Track.php

public function scheduled_playlists()
{
    return $this->belongsToMany(ScheduledPlaylist::class, 'scheduled_playlist_tracks', 'track_id', 'playlist_id')->withPivot('index');
}

我想将playlist_id存储在schedule_playlist_tracks表中,该表与非主键playlist_id中的schedule_playlist字段相同。 每当我将记录保存在表中时,它会将id表中的schedule_playlist另存为playlist_id。我也尝试过将外键添加到迁移中,但是没有运气。我该如何实现?是否可以使用雄辩的关系,还是在保存记录时可以?请给我建议。任何帮助将不胜感激。

0 个答案:

没有答案