背景
我正在创建一个围绕食物过敏的数据库,我在食物和过敏之间有很多关系 . 还有一个名为 severity
的透视值,其数字代表该食品过敏的严重程度 .
这个链接表看起来像这样;
food_id|allergy_id|severity
-------|----------|--------
1 | 1 | 3
1 | 4 | 1
2 | 2 | 1
问题
尝试使用Eloquent更新链接表时(其中 $allergy_ids
是一个数组)
$food->allergies()->attach($allergy_ids);
如何将此多个值与枢轴值一起添加到此数据透视表?
我可以使用上面的行一次性添加所有 allergy_id
的特定食品项目,但是如何同时使用各种严重性值的数组添加 severity
列?也许是这样的
$food->allergies()->attach($allergy_ids, $severity_ids);
编辑:对于特定食品,可能有0-20个过敏,如果这有帮助,每个过敏的严重等级为0-4 .
3 回答
最简单的是附加额外的数据,如下:
更改食物过敏严重程度的值,但你得到提示...... :-)
您可以 .
从Docs中的这个示例(4.2,5.0):
前两行的硬编码版本:
动态地,您的阵列$ allergy_ids和$ severities处于兼容状态(大小和排序),您应该在之前准备同步数据 . 就像是:
你不能像你这样做,所以我建议一个简单的循环:
解决方法但是,如果您想要使用单一严重性级别/ ID附加多个过敏症,那么您可以这样做: