orm2 中文文档 4.3 extendsTo(一对一关系)

译者:飞龙

来源:extendsTo

你可能想把可选的属性分割到另一个表中。每个扩展都会是一个新的表,其中每一行的唯一标识符是主模型实例的id。

例如:

var Person = db.define("person", {
    name : String
});
var PersonAddress = Person.extendsTo("address", {
    street : String,
    number : Number
});

这样会创建person表,带有idname列。扩展行为会创建person_address表,带有person_idstreetnumber列。Person模型中可用的方法类似于hasOne关联。这个例子中,你可以调用.getAddress(cb).setAddress(Address, cb)以及其他。

注意:你并不需要保存Person.extendsTo的返回值,它返回了一个扩展模型。你可以使用它来直接查询扩展表(甚至查找相关的模型),但是这完全取决于你。如果你只希望通过原模型来访问它的话,可以丢弃返回值。

    原文作者:飞龙
    原文地址: https://segmentfault.com/a/1190000004281542
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞