首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用thinky创建新的n-n模型并将其链接到现有的模型?

如何使用thinky创建新的n-n模型并将其链接到现有的模型?
EN

Stack Overflow用户
提问于 2016-10-08 16:56:39
回答 1查看 78关注 0票数 0

我刚开始使用rethinkDB和thinky。我想问一下,如何创建一个与已有模型有n关系的模型的新实例。例如,如果我有一个披萨和配料的模型。我已经创建了一个pizza实例,如何创建一个顶级实例并将其链接到已经存在的披萨?

代码语言:javascript
复制
var Pizza = thinky.createModel("Pizza", {
    name: type.string(),
    size: type.string()

});
var Topping = thinky.createModel("Topping", {
    name: type.string(),

});

Pizza.hasAndBelongsToMany(Topping, "toppings", "id", "id");
Topping.hasAndBelongsToMany(Pizza, "pizzas", "id", "id");

var pizza = new Pizza({name:"My pizza", size:"Large"});
var topping = new Topping({name:"Olive"});

我该如何保存一个配料,以便它与已经创建的比萨饼相关联?

文档中,对于1-n关系,他们做的事情如下:

代码语言:javascript
复制
topping.pizzas = pizza
topping.saveAll({pizza: true}).then(...);

在这种情况下,它将无法工作,因为topping.pizzas是一个对象数组,而不仅仅是一个对象。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-15 17:25:18

答案很简单,我发现:

代码语言:javascript
复制
var pizza = new Pizza({name:"My pizza", size:"Large"});
var topping = new Topping({name:"Olive"});

Topping.filter({name:Olive}).run().then(function (topping) {
    if (topping.length > 0){
        if (pizza.toppings == undefined){
            pizza.toppings = []
        }
    pizza.toppings.push(topping[0]);
    pizza.saveAll().then(...)
    }
}

很肯定有更好的方法来做,但这是可行的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39934952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档