【发布时间】:2019-01-08 07:17:08
【问题描述】:
我想知道是否可以从数据库表中检索最新的 id?
例如,我有一个User 表,我想在User 表中检索最新的id。有什么办法可以实现吗?
【问题讨论】:
-
向我们展示一些代码示例。 .. 到目前为止你尝试过什么?
我想知道是否可以从数据库表中检索最新的 id?
例如,我有一个User 表,我想在User 表中检索最新的id。有什么办法可以实现吗?
【问题讨论】:
如果您的 id 字段自动递增,那么您可以使用 MAX(id) 来获取最后插入的 id,对于您的场景,MAX(id) 是最好的解决方案。
【讨论】:
getMax('id'),因为max('id') 返回最大值的数组。来源:Documentation
您可以要求 last() 或 pickInverse 模型方法,具体取决于您的版本。
yield User.query().last() // 3.2
await User.pickInverse() // > 4.0
【讨论】:
pickInverse()得到的值是:VanillaSerializer { rows: [ Election { __setters__: [Array], '$attributes': [Object], '$persisted': true, '$originalAttributes': [Object], '$relations': {}, '$sideLoaded': {}, '$parent': null, '$frozen': false, '$visible': undefined, '$hidden': undefined } ], pages: null, isOne: false }这是什么意思?我怎样才能得到身份证?
(await User.query().last()).id,last() 方法在 4.1 中没有记录,但我试过了,它可以工作
我不确定这是否是您要找的,因为我从未使用过此 Adonis.js,但我希望这会有所帮助:
* createRole () {
role = new Role();
role.name = "New Role";
yield role.save();
console.log(role);
return role;
}
yield role.save() 之后的变量 role 将包含最后插入的 id 和其他相关属性。
【讨论】:
返回desc中的数据,然后获取.first()的第一个元素。
示例:.
Release.query().orderBy('id', 'desc').first()
【讨论】: