2016-07-21 21 views
0

以下はleasesテーブルのモデル定義です。ご覧のとおり、まだ定義していないモデルのキーを参照できないため、エラーが発生しています。Sequelizeで自己参照外部キーを作成するにはどうすればよいですか?

私は既にモデルを作成しているので、ライン56はキーの関係を設定するために問題なく動作します。 しかし、モデルを作成する前に、40行目のモデルにどのようにアクセスすればよいですか?

enter image description here

はここgetForeignKey()が何をするかです:

getForeignKey(name: string, foreignModel: any): any { 
    return { 
     type: Sequelize.UUID, 
     references: { 
     'model': foreignModel, 
     'key': name, 
     'deferrable': Sequelize.Deferrable.INITIALLY_DEFERRED, 
     'allowNull': true 
     } 
    }; 
    } 

答えて

0

OK、あなたはすでにそれ自体にモデルを関連付けるしているので、私の全体の答えを取り除きます。それはresult.belongsTo(result, { foreignKey: 'renewed_from__lease_id' })のことです。それはあなたのニーズを満たすものではありませんか?

+0

残念ながら私は両方のラインが必要です。私はちょうど戻って、私の答えをチェックしていた外来キーを定義する方法を正確に尋ねた:http://stackoverflow.com/questions/37297797/is-this-the-correct-way-to-define-a-table-relationship-in -sequelize – Richard

+0

"local"フィールドを "convention"とは別に定義することについて質問しました。私はそれが、「何でもあなたのために」と追加することによって設定可能だと思います。私は延期可能な財産を巡って来たことは一度もなかったので、それについてはコメントできません。 –

関連する問題