2017-10-20 37 views
0

多対多の関係を持つ2つのテーブルがあります。 Groups and Members tableとピボットテーブルgroup_member。リレーションシップは正常に行われ、ピボットテーブルを含むテーブルがシードされます。今私がしたいのは、ドロップダウンでグループを選択すると、そのグループ内のメンバーのリストが別のドロップボックスに表示されるはずです。ドロップダウンで選択した値に基づいて値を取得 - Laravel

//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')); 
    } 

コントローラは、今私のコードは大丈夫グループを示していますが、それは、のみ、そのグループに所属するメンバーが、ユーザーに属するすべてのメンバーを取得しません。どのように私はこれを動的に行うことができますか?グループを選択し、そのメンバーを同時に表示します。

+0

「ユーザーに属するすべてのメンバー」とはどういう意味ですか?メンバーはユーザーに属しますか?あなたが達成しようとしていることは本当に明確ではありません。 – Camilo

+0

モデル関係と 'group.show'ビューの関連部分を表示してください。 – Camilo

答えて

0

ドロップダウンで選択したグループのメンバーを動的に取得するには、ajaxを使用してデータを取得し、select要素に値を設定する必要があります。

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

としてあなたのselect要素を考慮あなたが

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

選択値に変更することが聞くためにはJavaScript/jQueryのを記述する必要がありますあなたは、グループのメンバーを配るルートを必要としますselect要素にフィードするjson。

+0

私はこれの初心者ですので、それに関するチュートリアルを知っていますか?これはまさに私が探しているものです –

+0

これはLaravelとjQueryの組み合わせです.Laravelの[W3schools](https://www.w3schools.com)のjQueryで始めることができます。[Laracasts] (https://laracasts.com) – Sidharth

関連する問題