【发布时间】:2014-01-22 17:18:30
【问题描述】:
我很好奇如何取回插入的对象。我想在 Play 中的 create API 路由中返回构造的模型对象。
到目前为止,我有类似的东西:
def create(username: String, email: String, password:String)(implicit database: Database): Option[FailureResult] = {
database withSession {
implicit session => {
val affectedRows = users += new User(username=username, email=email, password=password)
onlyIf(affectedRows != 1){ UnexpectedErrorResult("Unexpected Error: User was not created") }
}
}
+= 运算符仅返回受影响的行。有没有办法在不进行其他查找的情况下取回对象?
【问题讨论】:
-
再次查询有什么意义?您刚刚创建了它并拥有
User实例,对吧? -
为什么不
val user=new User(...)?反正有returning方法的插入操作。 -
数据库可能会设置一些默认值?比如一些日期时间字段什么的?
-
想想另一个问题How to return multiple values after insert? 可能会有所帮助。
标签: scala playframework slick