Node.js と Bookshelf を使用して API をセットアップしています。リクエストに含まれる JSON は次のようになります。
{
conversation: {
user_ids: [1, 2, 3, 4]
}
}
会話オブジェクトは次のようになります。
var Conversation = storeManager.bookshelf.Model.extend({
tableName: 'conversations',
users: function() {
this.belongsToMany(User)
}
})
ユーザーは次のようになります。
var User = storeManager.bookshelf.Model.extend({
tableName: 'users',
conversations: function() {
return this.belongsToMany(Conversation)
}
})
user_id
データベースには、 andフィールドを持つ conversations_users テーブルに加えて、会話とユーザー テーブルがありconversation_id
ます。
そのため、ドキュメントを調べてきましたが、指定された ID を持つ既存のユーザーと関係を持つ会話オブジェクトを作成する方法を理解するのに苦労しています。
これが私がこれまでにコントローラーに持っていたものです
ConversationController.prototype.create = function(req, res, next) {
// Create the conversation
Conversation.forge().set('users', req.body['conversation']['user_ids']).save().then(function(model) {
req.conversation = model
next()
}).catch(function(err) {
res.status(400).send(err)
})
}