美好的一天,
我有两个模型(Products和ProductCategory)在ManyToMany关系中彼此相关。但是,当我尝试保存包含应该映射到ProductCategory的html选择字段的Product表单时,我得到了
{"product_categories":["Invalid value"]}
我的模特
Products.class
public class Products extends Model{
@ManyToOne
public ProductCategories product_categories;
........Other methods and variables
}
ProductCategories.class
public class ProductCategories extends Model
@OneToMany(cascade = CascadeType.ALL, mappedBy = "product_categories")
public List<Products> product = new ArrayList<>();
..........othee methods and variables
}
视图就像这样
<select name="product_categories" class="form-control required">
@for(prodCategory <- productCategories){
<optionvalue="@prodCategory.getId()">@prodCategory.getCategory_name()</option>
}
</select>
我实际上还更新了两个模型之间与OneToMany的关系,并收到了相同的错误消息。我也试过我在谷歌的一些帖子上看到的,我应该在视图中添加一个[],即
<select name="product_categories[]" class="form-control required">
这是同一个问题。我可以确认视图是使用request().body().asFormUrlEncoded()
请有人知道如何让映射工作吗?
答案 0 :(得分:0)
感谢@singhakash将我带回类似问题的自己的帖子。我注意到他的观点名称包括.id
,例如我使用product_categories
作为他使用product_categories.id
的选择名称后,我改变了它,使用{{1}}中列出的步骤{{1}} 3}}。没有这种改变,我就无法超越验证步骤。