我有三个表:recipes
,ingredients
ingredients_recipes
很明显,他们可以管理多对多规范化关系。
但是,ingredients_recipes
结构如下所示:
id: int primary key auto increment
recipe_id
ingredient_id
amount
我的问题在于amount
字段。添加新配方时,我可以看到包含所有成分的多选菜单,但我无法管理如何为所选的每种成分添加amount
值。在ingredients_recipes
表中添加一个空值为amount
的字段后的结果!
我可以在add
视图中做些什么来创建与从列表中选择的成分相关的金额输入文本。
答案 0 :(得分:3)
我的猜测是你没有IngredientsRecipe模型,对吧?
蛋糕中的HABTM关系是最好的,如果你只想存储那个关系。但是,如果您还想为该表添加其他值,则需要创建一个新模型并将其视为处理任何表格。
你有这个:
Recipe Model
HABTM Ingredient
Ingredient Model
HABTM Recipe
您必须将其更改为
(new) IngredientsRecipe Model
belongsTo Recipe
belongsTo Ingredient
Recipe Model
hasMany IngredientsRecipe
Ingredient Model
hasMany IngredientsRecipe
文档中提到hasMany through。
PD:如果您不喜欢IngredientsRecipe名称,只需添加一个合适的名称,例如Amount或其他东西,然后只需在模型中使用useTable更改表格。我发现DoctorsPatientsRemediesEtc或类似的东西是一个令人头疼的模型名称。