Reputation:
hi I am using play framework and scala. insert userprofile data into database is not working. the sign in and signup functions are working and the database insertion and connection are correct.. IN Console the mysql connection created successfully is visible so no problem with mysql connection
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..
Upvotes: 1
Views: 2241
Reputation:
I have the same issue and i solve it by:
val userProfileForm = Form(
Forms.mapping(
"id" -> ignored(NotAssigned: Pk[Long]),
"user_account_id" -> optional(longNumber),
"name" -> nonEmptyText,
The problem is here the type of date of birth is date and the format is here:
"date_of_birth" -> date("YYYY/MM/dd"),
"gender" -> nonEmptyText,
"image" -> nonEmptyText,
"status" -> nonEmptyText)
(UserProfile.apply)(UserProfile.unapply))
println("1")
Upvotes: 1