Laravel : de Nombreux de nombreux insertion
J'ai deux modèles, User
et Team
La relation entre eux est ManyToMany
:
Dans User
:
public function teamMembers(){
return $this->belongsToMany('App\Team')->withPivot('id');;
}
Et dans Team
:
public function teamMembers(){
return $this->belongsToMany('App\User')->withPivot('id');;
}
Maintenant, je veux ajouter des utilisateurs à une équipe spécifique. Donc le pivot du nom de la table est team_user
.
Maintenant, les données que je veux insérer de tableau croisé dynamique est :
array:4 [▼
"_token" => "mlwoAgCQYals1N1s2lNa4U5OTgtMNHh9LUhNGrWh"
"team_id" => "1"
"members_id" => array:3 [▼
0 => "2"
1 => "3"
2 => "4"
]
"status" => "1"
]
Ce que je fais dans mon controller :
$team_id = $request->get("team_id");
$team = \App\Team::findOrFail($team_id);
foreach ($request->get('members_id') as $key => $value) {
$team->teamMembers()->attach($team);
$team->save();
}
Mais il ne insère un enregistrement, je veux dire la team_id
et la première member_id
.
Je veux créer un enregistrement par membre de la members_id
tableau. Comment vais-je faire ?
OriginalL'auteur Gammer | 2017-01-31
Vous devez vous connecter pour publier un commentaire.
Vous devriez passer un tableau d'Id utilisateur pour la
attach()
méthode.Modifier votre code:
il est le
sync
option trop, vous pourriez mettre à jour la réponse à avoir répondu, juste une suggestion. Cheers!OriginalL'auteur Alexey Mezenin