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

简介: 译者:飞龙 来源:extendsTo你可能想把可选的属性分割到另一个表中。每个扩展都会是一个新的表,其中每一行的唯一标识符是主模型实例的id。

译者:飞龙

来源: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的返回值,它返回了一个扩展模型。你可以使用它来直接查询扩展表(甚至查找相关的模型),但是这完全取决于你。如果你只希望通过原模型来访问它的话,可以丢弃返回值。

相关文章
|
4月前
|
API 数据库 C++
SqlAlchemy 2.0 中文文档(十四)(1)
SqlAlchemy 2.0 中文文档(十四)
31 1
|
SQL 安全 Go
GoFrame ORM 使用实践分享
今天这篇把我使用GoFrame ORM的过程中认为有价值、可能踩坑、比较好的实践等相关的知识点分享出来。
410 0
|
API Python
Python编程:orm之sqlalchemy模块
Python编程:orm之sqlalchemy模块
165 0
|
Python 数据库管理 数据库
|
数据库 数据建模
ORM简介
    对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换 。
1050 0
|
数据库 缓存 API
orm2 中文文档 3. 定义模型
译者:飞龙 来源:Defining Models 在[连接](1. Connecting to Database.md)之后,你可以使用连接对象(db)来定义你的模型。
832 0
|
API
orm2 中文文档 4.2 hasMany(多对多关系)
译者:飞龙 来源:hasMany hasMany 是多对多的关系(包括连接表)。 例如:Patient.hasMany('doctors', Doctor, { why: String }, { reverse: 'patients', key: true })。
703 0