You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
vue-shop-admin-work/models/CategoryModel.js

44 lines
2.8 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

// 这是一个Node.js模块它导出一个函数。这个函数用于定义一个数据库模型并允许在模型定义完成后执行回调函数。
module.exports = function(db, callback) {
// 开始定义用户模型(在这个上下文中,是分类模型)。
// 函数接受一个数据库对象db和一个回调函数callback作为参数。
// 使用db对象的define方法来定义一个名为CategoryModel的新模型。
// 这个模型用于操作数据库中的分类信息,如创建、读取、更新和删除分类。
db.define("CategoryModel", {
// 定义模型的第一个属性分类IDcat_id
// 这是一个自增主键意味着每当向数据库添加新分类时这个ID都会自动递增。
// type: 'serial'指定了这是一个序列类型自增类型key: true表示这是主键。
cat_id: {type: 'serial', key: true},
// 定义模型的第二个属性分类名称cat_name
// 这是一个字符串类型,用于存储分类的名称或标题。
cat_name: String,
// 定义模型的第三个属性父分类IDcat_pid
// 这是一个数字类型,用于表示当前分类的上级分类(如果存在的话)。
// 通过这个属性,可以建立分类之间的层级关系或父子关系。
cat_pid: Number,
// 定义模型的第四个属性分类级别cat_level
// 这也是一个数字类型,用于表示分类在层级结构中的位置或深度。
// 例如顶级分类的级别可能是1其子分类的级别可能是2依此类推。
cat_level: Number,
// 定义模型的第五个属性是否已删除cat_deleted
// 这是一个布尔值类型,用于标记该分类是否已被逻辑删除(即在数据库中保留但不再显示或使用)。
// 这是一种软删除的方式,允许在不实际删除数据的情况下,从系统中移除分类。
cat_deleted: Boolean
}, {
// 定义模型的选项或配置。
// 在这个例子中只定义了一个选项table。
// 这个选项指定了模型对应的数据库表名。
// 在这个例子中,表名是"sp_category"。
// 这意味着该模型的所有数据库操作(如查询、插入、更新和删除)都会针对这个表进行。
table: "sp_category"
});
// 模型定义完成。现在调用回调函数callback并传入空参数或无参数
// 这通常表示模型已经成功定义,可以进行后续操作(如查询数据库、添加数据等)。
// 回调函数可以用于执行任何需要在模型定义完成后立即执行的操作。
return callback();
}