【发布时间】:2014-04-28 06:19:48
【问题描述】:
我使用 playframework 2.2+slick 2:
我的数据模型:
case class User(id:Option[String], firstName:String,secondName:String, addressid:Long)
class UserTable(tag: Tag) extends Table[User](tag, "User") {
def id = column[String]("ID", O.PrimaryKey)
def first_name = column[String]("First_Name")
def second_name=column[String]("Second_Name")
def addID = column[Long]("ADDRESS")
def home_address=foreignKey("ha_FK", addID, address)(_.id)
def * = (id.?, first_name, second_name, email, roles.?, profile,datebirth,addID)<>(User.tupled,User.unapply)
}
val user=TableQuery[UserTable]
}
case class Address(id:Long, state:String, city:String, street:String, unit: String, zip:String)
class AddressTable(tag:Tag) extends Table[Address](tag, "Address"){
def id = column[Long]("ID", O.PrimaryKey)
def state=column[String]("State")
def city=column[String]("City")
def street=column[String]("Street")
def unit=column[String]("Unit")
def zip=column[String]("zip")
def * = (id, unit, street, city, state, zip)<>(Address.tupled,Address.unapply)
}
val address = TableQuery[AddressTable]
我有一个表格来填写用户信息和他的地址信息。我不知道如何映射它们:(当然这里是假代码)
val fullForm = Form(
mapping(
"User.first_name" -> text(),
"User.second_name" -> text(),
"User.id"-> ignored,
"User.addID"->ignored,
"Address.id"->ignored,
"Address.state"->text,
"Address.city"->text
...
)(User.apply, Address.apply)(User.unapply, Address.apply)
)
如何在此处将表单映射到多数据模型?你能举个例子吗?
【问题讨论】:
标签: forms scala playframework-2.0 slick-2.0