2017-10-20 10 views
0

J'ai deux tables avec une relation plusieurs à plusieurs. Groups and Members table avec un tableau pivotant group_member. Les relations sont bien faites et ont ensemencé les tables incluant le tableau croisé dynamique. Maintenant, ce que je veux faire est, quand je choisis un groupe dans la liste déroulante, la liste des membres dans ce groupe particulier devrait apparaître dans une boîte de dépôt différente.Obtenir des valeurs basées sur la valeur sélectionnée dans la liste déroulante - Laravel

Contrôleur

//displays the form 
public function create() 
    { 
     $groups = Group::all()->where('user_id',Auth::user()->id); 
     $members = Member::with('groups')->get(); 
     $selectedGroup = $groups->pluck('id')->toArray(); 
     return view('group.show',compact('groups','selectedGroup','members')); 
    } 

Maintenant, mon code montre les groupes bien, mais il ne va pas chercher seulement les membres appartenant à ce groupe, mais tous les membres appartenant à l'utilisateur. Comment puis-je faire cela dynamiquement? Sélectionnez un groupe et affichez ses membres en même temps. Merci

+0

Que voulez-vous dire par "mais tous les membres appartenant à l'utilisateur"? Un membre peut appartenir à un utilisateur? Ce n'est pas vraiment clair ce que vous essayez d'atteindre. – Camilo

+0

Veuillez montrer les relations des modèles et la partie pertinente de la vue 'group.show'. – Camilo

Répondre

0

Pour obtenir dynamiquement les membres d'un groupe sélectionné dans la liste déroulante, vous devrez utiliser ajax pour récupérer les données et remplir l'élément select.

compte tenu de votre élément de sélection comme

<select id="group_id" name="group_id"> 
    @foreach($groups as $group) 
    <option value="{{ $group->id }}">{{ $group->name }}</option> 
    @endforeach 
</select> 

vous devrez écrire javascript/jQuery pour écouter de changer la valeur de sélection

$('#group_id').change(function() { 
    $.get('/group/'+this.value, function(data){ 
     // Code to populate the secondary select element 
    }); 
}); 

Vous avez besoin d'un itinéraire qui donne des membres du groupe comme json pour alimenter l'élément select.

+0

Connaissez-vous des tutoriels sur ce que je suis un débutant avec cela. C'est exactement ce que je cherche –

+0

Ceci est une combinaison de Laravel et jQuery, vous pouvez commencer avec jQuery à [W3schools] (https://www.w3schools.com) pour Laravel la meilleure option que vous avez est [Laracasts] (https://laracasts.com) – Sidharth