如何从 JayData 事务中获取最后插入 ID?

Posted

技术标签:

【中文标题】如何从 JayData 事务中获取最后插入 ID?【英文标题】:How do I get the Last Insert Id from a JayData transaction? 【发布时间】:2013-02-06 21:32:34 【问题描述】:

使用 JayData 向 Sqlite 数据库插入新对象(记录),如何查询最后插入的 id?我可以这样做,但它似乎不优雅:

DB.Members.orderByDescending('member.Id').take(1).toArray(function(member)    
        alert(member.Name);    
);

【问题讨论】:

【参考方案1】:

如果您已经定义了具有自动递增 Id 的 Member 类,则无需编写额外的查询,因为 Id 属性在 saveChanges() 之后自动填充。

要为你的类定义一个自动递增的 Id,请检查你是否写了这个:

$data.Entity.extend("Member", 
    Id:  type: "int", key: true, computed: true ,
    ...
);

var member = new Member();
member.Name = "a";
DB.Members.add(member);
DB.Members.saveChanges(function()alert(member.Id););

如果 Id 是手动设置的,那么您的查询仅在应用程序的单个用户手动插入记录的情况下有效。 如果您从在线数据存储同步数据,我们必须共同制定解决方案。

有效吗?

【讨论】:

谢谢!我没有意识到该属性已被框架填充;非常优雅。

以上是关于如何从 JayData 事务中获取最后插入 ID?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Kohana 3,如何从 Database 类中获取最后一个插入 ID?

如何从数据库中获取最后插入的 id 并将其发送到组件?

如何使用 DAO 检测 Yii 中事务中的最后一个插入 ID?

你如何从一个类中获取最后插入的 ID 到重定向 [重复]

在 django 中获取最后插入的 id

从最后一个条目中获取 id