У меня есть три таблицы и две сводные таблицы!
художники
* id (основной)
…
music_artists
* id (основной)
* music_id (foreignKey)
* Artist_id (ForeignKey)
Гурджиева
id (основной)
…
album_musics
id (основной)
music_id (внешний ключ)
album_id (внешний ключ)
…
альбомы
id (основной)
…
мой вопрос, как я могу получить доступ к исполнителям альбома с Laravel красноречивый?
Для этого случая нет родных отношений.
Я создал HasManyThrough
отношения с поддержкой BelongsToMany
: Репозиторий на GitHub
После установки вы можете использовать его так:
class Album extends Model {
use \Staudenmeir\EloquentHasManyDeep\HasRelationships;
public function artists() {
return $this->hasManyDeep(
Artist::class,
['album_musics', Music::class, 'music_artists']
);
}
}
Других решений пока нет …