1. 访问器(Accessors)
访问器是用于在应用程序中访问或修改数据库字段值的逻辑。它们通常用于在读取或写入数据库时对数据进行格式化或转换。
-
在 ORM 框架中的应用 :
许多 ORM(对象关系映射)框架,如 Sequelize(Node.js)、Eloquent(Laravel)等,提供了访问器的功能。例如,在 Sequelize 中,你可以定义 getter 和 setter 方法来处理字段值:
jsconst User = sequelize.define('User', { firstName: { type: DataTypes.STRING, get() { const rawValue = this.getDataValue('firstName'); return rawValue ? rawValue.toUpperCase() : null; } } });
在这个例子中,
firstName
字段的值在读取时会自动转换为大写。
2. 虚拟字段(Virtual Fields)
虚拟字段是不存储在数据库中的字段,但在查询时可以像普通字段一样使用。它们通常用于计算或组合现有字段的值。
-
在 ORM 框架中的应用 :
在 Sequelize 中,你可以定义虚拟字段:
jsconst User = sequelize.define('User', { firstName: DataTypes.STRING, lastName: DataTypes.STRING }, { getterMethods: { fullName() { return this.firstName + ' ' + this.lastName; } } });
在这个例子中,
fullName
是一个虚拟字段,它组合了firstName
和lastName
的值。