Sails.js单向协会

时间:2014-08-14 06:58:54

标签: javascript node.js sails.js

我试图在sails js中关联两个MySQL表。我已阅读有关此主题的文档found here

我收到的错误:

error: Sending 500 ("Server Error") response:
Error (E_UNKNOWN) :: Encountered an unexpected error
: ER_BAD_FIELD_ERROR: Unknown column 'user.character' in 'field list'..

我有一个Characters.js和一个User.js

User.js模型包含:

character: { model: 'Characters' }

和Characters.js包含:

owner: { model: 'User' }

任何人都可以给我一个如何让这两张桌子说话的小费吗?感谢。

2 个答案:

答案 0 :(得分:0)

可能是您的用户表缺少引用字符表的列。

可能发生的是您更改了模型,而数据库并未反映更改。如果您尚未禁用模型的自动迁移,则应该能够删除现有的MySql表,并且在重新提升时,应使用正确的列重新生成它们。

尝试:

  1. 删除用户和角色表
  2. 重新举起风帆
  3. 希望对你有帮助!

答案 1 :(得分:0)

仅供参考,你所做的是one-to-one association

根据您尝试抓取user.character的方式,也可能出现错误。如果删除表并在sails lift上重新创建不起作用,因为您没有发布导致此错误的代码,请检查您是否正确使用populate

User.findOne.where({ criteria_goes_here }).populate('character').exec(function (err, user) {
  var character = user.character; // your character model instance
}