我定义了以下关系:
{
"name": "playlist",
"base": "PersistedModel",
"relations": {
"songs": {
"type": "hasAndBelongsToMany",
"model": "song",
"foreignKey": ""
}
}
}
所以Song hasAndBelongsToMany Playlist
。到目前为止一切都很好。
但是当谈到将歌曲添加到播放列表时,我很困惑。
理想情况下,我希望能够在播放列表create
端点的同一调用中添加新歌曲。我不知道该怎么做,而且文档非常糟糕。
我似乎必须在POST
上/playlists/:id/songs
才能将歌曲与播放列表相关联?但是,我不想创建新歌,只需将现有歌曲添加到播放列表中。那会这样吗?上述网址的POST
是否会添加(并希望创建)新歌?
BTW,使用postgresql
作为后端。
这样做的正确方法是什么?
答案 0 :(得分:4)
当您创建hasAndBelongsToMany
关系时,Loopback会将JS方法添加和删除为documented。但是,我无法找到有关它如何在API中公开的任何文档,但this pull request解释了如何执行此操作:
PUT /api/playlist/:id/song/rel/:fk
DELETE /api/playlist/:id/song/rel/:fk
请注意,这假设您有一个PlaylistSong
链接表和Loopback模型,其中包含PlaylistId和SongId字段以及所有正确的关系。