2016-12-22 9 views
0

公式文書は、2つの別々のモデルを定義したサンプルコードと、アソシエーション/リレーションコードas followsのあとだけを扱っています。Sequelize.jsを使用するときのアソシエーション/リレーションを定義する場所は?

var User = this.sequelize.define('user', {/* attributes */}) 
    , Company = this.sequelize.define('company', {/* attributes */}); 

User.belongsTo(Company); // Will add companyId to user 

私の推測

  1. は、モデルのすべてを必要としapp.js、たとえば、からそのファイルを必要とし、その後、別のファイルに関連付けを定義しています。
  2. 各モデルファイルでは、必要なモデルを必要とし、classMethods.associate(models)に関連付けを定義します。

私は実際にどちらが「正しい」方法であるかを決めることはできません。私はSequelize-CLIを使って、移行ファイルとモデルファイルを生成しています。

答えて

0

console.logmodelsのパラメータがclassMethods.associate(function(models) {})になった後、実際にすべてのModelクラスがあることがわかりました。

models.ModelNameのようなモデルにアクセスして、そこに関連性とリレーションシップを定義する方法を詳しく説明できます。

関連する問題