书架 js 集合
Bookshelf js collection
我正在尝试使用书架集合并返回整个表
< TypeError: Cannot read property 'apply' of undefined
< at CollectionBase (/projects/twitter/node_modules/bookshelf/lib/base/collection.js:30:18)
< at child [as constructor] (/projects/twitter/node_modules/bookshelf/lib/extend.js:15:14)
< at new child (/projects/twitter/node_modules/bookshelf/lib/extend.js:15:14)
< at Function.collection (/projects/twitter/node_modules/bookshelf/lib/bookshelf.js:110:14)
< at all (/projects/twitter/node_modules/bookshelf/lib/model.js:703:39)
< at fetchAll (/projects/twitter/node_modules/bookshelf/lib/model.js:768:27)
这是我的模型然后收藏
var Users_Data_At_Time = bookshelf.Model.extend({
tableName: 'Users_Data_At_Time',
Users: function(){
return this.belongsTo(Users);
},
Tweets_At_Time: function(){
return this.hasMany(Tweets_At_Time);
}
});
var Users_Data_At_Time_Collection = bookshelf.Collection.extend({
model: Users_Data_At_Time
});
我尝试使用 .fetchAll 调用集合和模型
这是我尝试使用模型的地方
new Users_Data_At_Time().fetchAll()
.then(function (users) {
console.log(users);
}).catch(function (error) {
console.log(error);
})
我已经看过几个例子,似乎这是正确的方法,但我仍然收到该错误。
任何想法或想法都会有很大的帮助
我想
在所有书架上执行此操作,但作为一种解决方法,我发现了这个溢出帖子,它使用书架中knex的原始查询来选择所有内容。
我不确定这是否是唯一的解决方案,如果有其他人,请告诉我
您的问题可能是文件/模型的命名。表名snake_cased在您的数据库中,所以这显然没问题。但是模型名称需要是PascalCased(又名UpperCamelCase(。反向适用于您的文件,因此应该snake_cased。
看看这个家伙,特别是最后一段:https://www.npmjs.com/package/bookshelf-model
相关文章:
- 如何使用backbone.js从集合中获取模型名称
- 2个backbone.js集合,具有相同的模型,但排序顺序不同
- Meteor:插入集合后如何执行JS
- fabric js多边形集合坐标
- Backbone.js批量更新集合
- 根据屏幕大小显示主干.js集合的子集
- Meteor.js只更新一个参数,而不是整个集合
- 主干.js集合不迭代
- backbone.js可以't传递集合中的模型项's查看项目's视图
- 如何将会话数据从集合传递到视图?(Backbone JS/Coffeescapept)
- 将多级 mongodb 文档转换为 Backbone.js 模型/集合
- 转到其他 URL 后,如何保持排序的骨干.js集合
- 主干.js将 url 参数传递给集合
- 流星.js按字段中的值筛选集合
- 骨干.js集合筛选前 10 个模型
- 骨干.js具有多种排序的集合
- 主干.js绑定到集合“添加”呈现视图两次
- 使用主干获取集合.js但未设置每个模型的 id
- 在节点中使用计数器集合.js递增 ID 字段
- 如何在主干中转换具有子集合的集合.js