2017-02-16 12 views
0

CRUDを行い、それがどのように機能するか理解したい。Sequelize js:外部キーを使用して作成/更新

model.wallet.belongsTo(model.users); 

model.wallet.sync({force: true}).then(function() { 
    return model.wallet.create({ 
     balance: 300, 
     users: {id:1} 
    }, { 
     include: [ model.users ] 
    }) 
}); 

私はあなたが解決策といくつかの例を持っている場合、それは素敵でなければなりません

include: [ {model: model.users} ]を試してみました。しかし、まだ(NULL)を得ました。

答えて

1

Sequelizeドキュメント

Player.belongsTo(チーム)中の実施例によれば、 // Teamにプライマリキー値を保持するために、チームID属性をPlayerに追加します。

デフォルトでは、belongsToリレーションの外部キーは、ターゲットモデル名とターゲットプライマリキー名から生成されます。

これらのモデルは、playerteamと呼ばれていると仮定すると、モデルteamの主キーはidです。これは、特定のモデル(追加オプションなし)でbelongsToを使用すると、名前が<related_model_name><related_model_primary_key>の属性を作成することを意味します。したがって、ユーザーモデルがusersでプライマリキーがidの場合、walletモデルで作成された外部キーはusersIdと呼ばれます。


新しいwalletを作成し、それをユーザーに割り当てたい場合は、あなたがcreate属性

model.wallet.create({ 
    balance: 300, 
    usersId: 1 
}); 
に適切な外部キーフィールドを指定する必要があります
関連する問題