2016-10-23 13 views
0

laravelのドロップダウンを使用してテーブルをフィルタリングしたいのですが、それはうまくいきましたが、作成フォームで新しいレコードを作成する場合は、フォームビューを作成するのではなく、getid関数を使用します。laravelのドロップダウンリストを使用してテーブルをフィルタリングする方法

ここに私のコードここ

<form method="GET"> 
    <div id="sample-table-3"> 
     <label>Display as Category</label> 
     <select name="category_id" id="category_id"> 
      <option value="0">Show All</option> 
      @foreach($categories as $category) 
       <option value="{{ $category->id }}">{{ $category->category }}</option> 
        @endforeach 
      </select> 
    </div> 
    </form> 

javascriptの

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $('#category_id').on('change', function(e){ 
      var id_category = e.target.value; 
      $.get('{{ url('news')}}/'+id_category, function(data){ 
       console.log(id_category); 
       console.log(data); 
       $('#news_data').empty(); 
       $.each(data, function(index, element){ 
        $('#news_data').append("<tr><td>"+element.title+"</td><td>"+element.file+"</td>"+ 
        "<td>"+element.content+"</td><td>"+element.like+"</td><td>"+element.view+"</td><td>"+find('.action')+"</td></tr>"); 
       }); 
      }); 
     }); 
    }); 
</script> 

と、この私のコントローラ

public function index(Request $request) 
{ 
    $news = News::paginate(10); 
    $categories = Category::all(); 


    return view('news.news') 
    ->with(compact('news')) 
    ->with(compact('categories')); 
} 

public function create() 
{ 
    $news = News::all(); 

    /* Get Category */ 
     $categories = Category::all(); 

    //dd($categories); 
    return view('news.create') 
    ->with(compact('news')) 
    ->with(compact('categories')); 
} 

public function getid($id_category){ 
$categories = Category::all(); 

    if($id_category==0){ 
     $news = News::all(); 
    }else{ 
     $news = News::where('category_id','=',$id_category)->get(); 
    } 
    return $news; 
} 

と、この私のルート

Route::get('/news/{id_category}', '[email protected]'); 

ルート::グループ([ 'ミドルウェア' => 'ウェブ']、関数(){

Route::resource('news', 'NewsController', ['except' => ['getid']]); 
Route::resource('category', 'CategoryController'); 

})。

+0

あなたのルート 'ルートのようなものに

変更を::( '/ニュース/ {id_category}'、 'NewsController @のgetId')を得る;'おそらく 'show'ルートと衝突されます「NewsController」の'Route :: get( '/ news/getid/{id_category}'、 'NewsController @ getid'); ' – linuxartisan

+0

これは役に立ちましたか?D – rafitio

+0

私は自分のコメントを回答に変換しました。同意してください。 – linuxartisan

答えて

関連する問題