我有一个 play2 项目,我想创建一个新产品。一个产品包括一个存储在多个表中的 KeyInfo。
这是我新产品的模板
@(newProductForm:Form[models.Product], keyInfoList: List[Keyinfo] )
@adminMain(""){
@helper.form(action = routes.Admin.insertNewProduct()) {
@helper.inputText(
newProductForm("name"),
'label -> "name",
'type -> "name"
)
@helper.inputText(
newProductForm("price"),
'label -> "price",
'type -> "price"
)
@helper.inputText(
newProductForm("shortDescription"),
'label -> "shortDescription",
'type -> "shortDescription"
)
@helper.inputText(
newProductForm("description"),
'label -> "description",
'type -> "description"
)
@helper.select(
newProductForm("keyinfo"),
helper.options(
for(info <- keyInfoList) yield info.keyinformation
)
)
<button type="submit">Add</button>
}
}
keyinfo 的选择助手正在从表中正确获取所有字段名。现在的问题是,KeyInformation 的 id 没有存储在 ProductTable 中。
这是保存产品的控制器功能
public static Result insertNewProduct() {
Form<Product> productForm = form(Product.class).bindFromRequest();
return ok(showNewProduct.render(Product.create(productForm.get())));
}
以及具有创建功能的产品模型
@Entity
public class Product extends Model {
@Id
//@Constraints.Required
//@Formats.NonEmpty
@Column(name="id")
public Integer id;
@Constraints.Required
public String name;
@Constraints.Required
public Float price;
@Constraints.Required
@Column(name="short_Description")
public String shortDescription;
@Constraints.Required
public String description;
@ManyToOne
@Constraints.Required
public Keyinfo keyinfo;
public static Product create(Product product){
product.save();
return product;
}
我希望有人能帮助我