嗨我正在使用play框架和scala。 将userprofile数据插入数据库不起作用。 登录和注册功能正在运行和数据库 插入和连接是正确的..在控制台中成功创建的mysql连接是 可见所以mysql连接没问题
the method inside the application
def saveUserProfile = Action { implicit request =>
if (request.session.get("userId") == None) {
Results.Redirect("/")
} else {
val user_account_id = request.session.get("userId").get.toLong
val useraccount = UserAccount.findByUserAccountId(user_account_id).get
userProfileForm.bindFromRequest.fold(
errors => BadRequest(views.html.userProfile(errors, useraccount)),
the real problem starts Here... when i am debug this program the next line not executed..
userprofile => {
val userProfileOpt = UserAccount.userProfile(11)
println(userProfileOpt)
in here userProfileOpt contain null value.. that is the real problem..
that is userProfileOpt=null not contain the id..
userProfileOpt match {
case None =>
val updateduserProfile = UserProfile(NotAssigned,
Option(user_account_id),
userprofile.name,
userprofile.date_of_birth, userprofile.gender,
userprofile.image,userprofile.status)
UserProfile.insert(updateduserProfile)
val alert: Alert = new Alert("success", " User Profile Saved")
Common.setAlert(alert)
case Some(userProfileFound: UserProfile) =>
val updatedUserProfile = UserProfile(userProfileFound.id,
userProfileFound.user_account_id, userProfileFound.name,
userProfileFound.date_of_birth, userProfileFound.gender,
userProfileFound.image,userProfileFound.status)
UserProfile.update(updatedUserProfile)
val alert: Alert = new Alert("success", " User Profile Updated")
Common.setAlert(alert)
}
Results.Redirect("/userProfile")
})
}
}
and my userProfile form method is inside the application ,
/**
* UserProfile Form
*/
val userProfileForm = Form(
Forms.mapping(
"id" -> ignored(NotAssigned: Pk[Long]),
"user_account_id" ->optional(longNumber),
"name" -> nonEmptyText,
"data of birth" -> date,
"gender" -> nonEmptyText,
"image" -> nonEmptyText,
"status" -> nonEmptyText )(UserProfile.apply)(UserProfile.unapply))
def index = Action {
val alert: Alert = new Alert("", "")
Common.setAlert(alert)
Ok(views.html.index(signInForm, "Friends+"))
}
....and the method is under..
this method inside the model and the model name is userprofile.....
def userProfile(user_account_id:Long)={
DB.withConnection{ implicit connection =>
val userDetail = SQL(
"""
select * from USER_PROFILE
where USER_ACCOUNT_ID = {user_account_id}
""").on(
'user_account_id -> user_account_id).as(UserProfile.simple.singleOpt)
userDetail
}
}
....i am really strugle this problem with
days ...
i don't know how to handle with this problem..
答案 0 :(得分:1)
我有同样的问题,我通过以下方式解决:
val userProfileForm = Form(
Forms.mapping(
"id" -> ignored(NotAssigned: Pk[Long]),
"user_account_id" -> optional(longNumber),
"name" -> nonEmptyText,
问题出在这里,出生日期的类型是日期,格式如下:
"date_of_birth" -> date("YYYY/MM/dd"),
"gender" -> nonEmptyText,
"image" -> nonEmptyText,
"status" -> nonEmptyText)
(UserProfile.apply)(UserProfile.unapply))
println("1")