gpt4 book ai didi

node.js - 如何获取模型的主键属性名称? (水线 ORM)

转载 作者:太空宇宙 更新时间:2023-11-04 02:31:21 26 4
gpt4 key购买 nike

我的一些模型没有 id 作为主键,我需要知道给定模型的主键名称,但我找不到执行此操作的方法。我在waterline文档和源代码中进行了搜索,但我在源代码中发现的所有内容是它们正在使用attributes对象定义,该定义存储在lib范围中不可访问的变量中。

我现在发现的“更干净”的方式是这样的:

// file: api/libs/model.js
module.exports = {
//...
primaryKeyName: function (modelName) {
var key, attr, pk,
def = require('../models/' + modelName).attributes;
for (var key in def.attributes) {
attr = def.attributes[key];
if (attr && attr.primaryKey) {
pk = key;
break;
}
}
return pk || 'id';
},
//...
};

但我觉得这有点棘手,我想知道是否有更好的解决方案,在模型或模型实例(即记录)上使用一些隐藏/未记录的辅助函数或方法...

最佳答案

啊!我应该从控制台检查模型类,然后我就会得到答案。

无论如何,无论谁想要寻找相同的信息,这里都是:

SomeModel.primaryKey; // => 'id' or whatever it is

瞧,就这么简单!

关于node.js - 如何获取模型的主键属性名称? (水线 ORM),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26445699/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com