Laravel не сохраняет внешний ключ в промежуточной сводной таблице Отношения BelongsToMany - PullRequest
0 голосов
/ 12 января 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...