小编zrz*_*zrz的帖子

一旦模型定义,如何建立bookshelf.js关系?

我将Bookshelf模型定义为

var Country =  Bookshelf.Model.extend({
    tableName: 'countries',
});

var Address =  Bookshelf.Model.extend({
    tableName: 'addresses',
    country: function() {
        return this.belongsTo(Country,'country_id');
    },
});
Run Code Online (Sandbox Code Playgroud)

现在我可以从数据库中获取我的一个模型

new Country({name:"Italy"}).fetch()
.then(function(country){
Run Code Online (Sandbox Code Playgroud)

并创建和地址

    new Address({...}).save().then(function(address){
Run Code Online (Sandbox Code Playgroud)

但是我在文档中找不到哪种方法可以帮助我建立'belongsTo'关系.无需手动将country_id属性设置为正确的属性.

我唯一看到构建关系的是collection.create(object)方法(http://bookshelfjs.org/#Collection-create),它被描述为方便从对象创建模型,保存它,以及将它添加到集合中; 我不知道怎么做最后一部分.

无论如何,当collectionName引用hasOne或belongsTo关系时,collection.create似乎不适用于model.related('collectionName'),因为它们不会重新发送集合.

orm relationship bookshelf.js

6
推荐指数
1
解决办法
8172
查看次数

将map函数链接到Array构造函数

试图找到一种方法来内联创建一个数据数组给定它的大小,我试过

var n = 4;
var data = (new Array(n)).map(function(x) { return 1 });
Run Code Online (Sandbox Code Playgroud)

这给了我

[undefined, undefined, undefined, undefined]
Run Code Online (Sandbox Code Playgroud)

对此

new Array(n)
Run Code Online (Sandbox Code Playgroud)

[undefined, undefined, undefined, undefined]
Run Code Online (Sandbox Code Playgroud)

然后

[undefined, undefined, undefined, undefined].map(function(x) { return 1 });
Run Code Online (Sandbox Code Playgroud)

回报

[1, 1, 1, 1]
Run Code Online (Sandbox Code Playgroud)

我希望能够链接Array构造函数和map函数.

对这种行为的任何见解?

javascript arrays inline map

2
推荐指数
1
解决办法
233
查看次数

标签 统计

arrays ×1

bookshelf.js ×1

inline ×1

javascript ×1

map ×1

orm ×1

relationship ×1