我是playframework 2.0的新用户。 我想将用户对象映射到表单
我在光滑的1.0中理解:
val userForm = Form(
mapping(
"name" -> text,
"age" -> number
)(UserData.apply)(UserData.unapply)
)
但在光滑的2.0中,用户是对象:
class User(tag: Tag) extends Table[(Int, String,String, String,Date,String,Option[Long], Int)](tag, "User") {
def id = column[Int]("SUP_ID", O.PrimaryKey, O.AutoInc)
def first_name = column[String]("First_Name")
def second_name=column[String]("Second_Name")
def email=column[String]("Email")
def datebirth=column[Date]("Birth_date")
def password=column[String]("Password")
def addID = column[Option[Long]]("ADRESS", O.Nullable)
def privilege=column[Int]("privilege")
def * = (id, first_name, second_name, email, datebirth, password, addID, privilege)
def home_address=foreignKey("ha_FK", addID, address)(_.id)
}
val user=TableQuery[User]
如何将对象更改为seq然后映射到Form?
表单如何绑定scala2.0中的数据?
任何人都可以为此提供任何示例吗?
答案 0 :(得分:0)
它经常采用的方式是使用案例类来表示要插入数据库中的对象。然后,您可以轻松地为案例类创建表单映射。
一个例子就像是thais。
case class User(id: Option[Int] = None, name: String, age: Int)
class UserTable(tag: Tag) extends Table[User]("user") {
def id = column[Int]("SUP_ID", O.PrimaryKey, O.AutoInc)
def name = column[String]("Name")
def age = column[Int]("Age")
}
val users = TableQuery[UserTable]
val userForm = Form(
mapping(
"id" -> ignored
"name" -> text,
"age" -> number
)
)
我不确定你的意思"改为Seq然后映射到Form"但希望这是你正在寻找的答案。