gpt4 book ai didi

node.js - 建筑模型 "user"至 "user_flag"至 "user"

转载 作者:太空宇宙 更新时间:2023-11-04 01:08:52 27 4
gpt4 key购买 nike

我有两个模型:

用户

'use strict';

var Mystical = require('../mystical'),
Blog = require('./blog'),
Flag = require('./user/flag');

module.exports = Mystical.db.Model.extend({
tableName: 'user',
defaults: {
isAdmin: 0,
isConfirmed: 0
},

blogs: function blogs() {
return this.hasMany(Blog, 'userId');
},

flags: function flags() {
return this.hasMany(Flag, 'userId');
}

});

...和标记:

'use strict';

var Mystical = require('../../mystical'),
User = require('../../model/user');

module.exports = Mystical.db.Model.extend({
tableName: 'user_flag',

user: function user() {
return this.belongsTo(User, 'id');
}

});

在页面上我尝试获取标志:

(new Flag({ content: req.params.identifier, flag: 'register_complete' })).fetch({ withRelated: ['user'] }).then(onData).otherwise(function(error) {
console.log(error);
});

但是每次我调用此函数时,都会触发其他回调:

TypeError: object is not a function
at exports.Relation.RelationBase.extend.relatedInstance (/my/secret/dir/node_modules/bookshelf/dialects/sql/relation.js:217:29)
at exports.Relation.RelationBase.extend.init (/my/secret/dir/node_modules/bookshelf/dialects/sql/relation.js:43:39)
at exports.Model.ModelBase.extend.belongsTo (/my/secret/dir/node_modules/bookshelf/dialects/sql/model.js:37:76)
at user (/my/secret/dir/core/model/user/flag.js:10:21)
at EagerBase.fetch (/my/secret/dir/node_modules/bookshelf/dialects/base/eager.js:56:40)
at /my/secret/dir/node_modules/bookshelf/dialects/sql/model.js:232:60
at NearFulfilledProxy.when (/my/secret/dir/node_modules/bookshelf/node_modules/when/when.js:465:43)
at Object._message (/my/secret/dir/node_modules/bookshelf/node_modules/when/when.js:389:25)
at deliver (/my/secret/dir/node_modules/bookshelf/node_modules/when/when.js:299:7)
at /my/secret/dir/node_modules/bookshelf/node_modules/when/when.js:296:63

现在,我尝试生成与 hasMany、hasOne、belongsTo 以及 BelongsToMany 的关联。但没有任何效果...

有人有想法吗?

最佳答案

我感觉这可能是循环引用问题:

尝试替换:

return this.hasMany(Flag, 'userId');

return this.hasMany(require('./user/flag'), 'userId');

return this.belongsTo(User, 'id');

return this.belongsTo(require('../../model/user'), 'id');

看看您是否仍然遇到同样的问题。

关于node.js - 建筑模型 "user"至 "user_flag"至 "user",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20032662/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com