Laravel attache le pivot à la table avec plusieurs valeurs

Arrière-plan

Je suis de la création d'une base de données autour d'allergies alimentaires et j'ai un de nombreux de nombreux de la relation entre les aliments et les allergies. Il y a aussi un pivot valeur appelée severity qui a une valeur numérique représentant la sévérité de l'allergie pour cet aliment.

Ce lien, le tableau ressemble à ceci;

food_id|allergy_id|severity
------- | ---------- | --------
     1 |        1 |      3
     1 |        4 |      1
     2 |        2 |      1

Le problème

Lors de la tentative de mise à jour de la table de lien avec Éloquent (où $allergy_ids est un tableau)

$food->allergies()->attach($allergy_ids);

Comment pourrais-je aller sur l'ajout de plusieurs valeurs de ce tableau croisé dynamique à la fois avec le pivot valeurs?

Je peux ajouter tous les allergy_id's pour un aliment particulier d'un seul coup à l'aide de la ligne ci-dessus, mais comment puis-je également ajouter dans la severity colonne en même temps, avec un tableau des différentes valeurs de gravité? Peut-être quelque chose comme

$food->allergies()->attach($allergy_ids, $severity_ids);

Edit: Il pourrait y avoir entre 0-20 allergies pour un aliment particulier, et un taux de sévérité de 0 à 4 pour chaque allergie, si cela aide à tous.

source d'informationauteur Duncan Ogle