第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Sequelize .set 錯誤,.set 不是函數(shù)

Sequelize .set 錯誤,.set 不是函數(shù)

冉冉說 2022-10-08 15:07:51
我正在嘗試建立一個似乎正在工作的 belongsTo 和 hasMany 關(guān)聯(lián),但是當我運行 .set 時出現(xiàn)錯誤fighterData.setUsers is not a function。方言是mySql。這是我的代碼:Fighters.belongsTo(Users)Users.hasMany(Fighters);Users.sync()Fighters.sync()//creates the table if it doesn't existconst insertFighter = function(obj, sessId) {  return Fighters.create(obj, {returning: true}).then((fighterData) => {    //console.log('inserted a fighter \n', fighterData);    return Users.findOne({      where: {        id: sessId      }    }).then((userData) => {      //console.log('fighterData in findOne promise \n', fighterData)      return fighterData.setUsers(userData)    }).then((success)=> {      console.log('user fighter join success')      return    }).catch((err)=> {      console.log('user fighter join error \n', err)      return    })  }).catch((err)=> {    console.log('error inserting fighter \n', err);  })}記錄的錯誤是user fighter join error. 有趣的是,userData.setFighters(fighterData)工作成功,但這不是我需要的編輯這就是 fighterData 是什么:fighterData in findOne promise  Fighters {  dataValues:   { id: 7,     name: 'Gilbert Burns',     image:      'https://www.sherdog.com/image_crop/200/300/_images/fighter/20140806063215_IMG_8432.JPG',     next_opponent: 'Kamaru Usman',     next_fight: 'July 11, 2020 ',     style: 'mma',     updatedAt: 2020-06-17T06:00:40.368Z,     createdAt: 2020-06-17T06:00:40.368Z },  _previousDataValues:   { name: 'Gilbert Burns',     image:      'https://www.sherdog.com/image_crop/200/300/_images/fighter/20140806063215_IMG_8432.JPG',     next_opponent: 'Kamaru Usman',     next_fight: 'July 11, 2020 ',     style: 'mma',     id: 7,     createdAt: 2020-06-17T06:00:40.368Z,     updatedAt: 2020-06-17T06:00:40.368Z,     UserId: undefined },  _changed:   { name: false,     image: false,     next_opponent: false,     next_fight: false,     style: false,     id: false,     createdAt: false,     updatedAt: false,     UserId: false },  _modelOptions:這是從將一名戰(zhàn)斗機的信息輸入數(shù)據(jù)庫中返回的。
查看完整描述

1 回答

?
繁星點點滴滴

TA貢獻1803條經(jīng)驗 獲得超3個贊

問題在于模型的命名。


Sequelize 期望您的模型以單數(shù)形式命名(User而不是Users),因此它與應該為您的關(guān)聯(lián)生成的 setter 和 getter 方法命名混淆。


如果您嘗試fighterData.setUser(userData)代替fighterData.setUsers(userData),它應該可以工作。


如果您想setUsers改用,則必須對模型進行調(diào)整以告訴 SequelizeUsers用作 的單數(shù)形式User:


Users.init({

    sessId: Sequelize.STRING

 }, {

    sequelize: sequelize,

    name: {

        singular: 'users'

    }

});

您也可以以相同的方式覆蓋復數(shù)形式。

您可以在此處閱讀有關(guān)此內(nèi)容的更多信息:續(xù)集命名策略


查看完整回答
反對 回復 2022-10-08
  • 1 回答
  • 0 關(guān)注
  • 113 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號