如何从 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?