我有两个表 - 项目和类别。我希望能够在视图中指定的itemForm中指定我想从中选择Category(因为Item将有一个FK到Category表中)。
重新说明:在View级别,我希望有一组输入通常映射到Item
,而对于Category
FK,我希望有一个由Category表填充的下拉列表。 / p>
现在的观点是:
@form(routes.ItemController.save) {
@inputText(itemForm("name"))
@inputText(itemForm("description"))
@inputText(itemForm("category"))
@inputText(itemForm("date_acquired"))
请注意,现在的类别(如书面所示)需要一个整数。哪个是反用户 - 我想避免使用它!
对于模型 -
class Items(tag: Tag) extends
Table[Item](tag, "Items") {
def id = column[Int]("id", O.PrimaryKey, O.AutoInc)
def name = column[String]("name", O.NotNull)
def description = column[String]("description", O.NotNull)
def category_fk_id = column[Int]("category_fk_id")
def date_acquired = column[org.joda.time.DateTime]("date_acquired", O.NotNull)
def sponsoring_member = column[String]("sponsoring_member", O.NotNull)
def * = (id.?, name, description, category_fk_id, date_acquired, sponsoring_member) <>
(Item.tupled, Item.unapply)
}
然后是控制器中的itemForm -
object ItemController extends Controller {
val itemForm = Form(
mapping(
"id" -> optional(number),
"name" -> text,
"description" -> text,
"category" -> number,
"date_acquired" -> jodaDate,
"sponsoring_member" -> text)(Item.apply)(Item.unapply))
// Some functions here
所以 - 问题 - 我如何设置一个可以在多个表上读/写的表单?