Схема базы данных: 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
. Я также пытался добавить внешние ключи в миграцию, но не повезло. Как мне этого добиться? Возможно ли это с помощью отношений Eloquent или во время сохранения записей? Пожалуйста, предложите мне. Любая помощь будет оценена.