2016-07-18 1 views
0

私はshowとindexの2つのメソッドを持っています。ユーザーがクリックすると、そのidに属するデータを含む別のページに彼女を連れて行くインデックスメソッドのアイテムのリストがあります。このようにするのではなく、jqueryを使用して同じページにデータをロードする必要があります。私はindex.blade.phpのビューで次のことをしています。どのように私はlaravelでこれを達成するのですか?jqueryを使用して、インデックスメソッドのlaravelでshowメソッドのコンテンツをロードする方法は?

@foreach ($categories as $category) 

    <div class="body"> 
    <h4><a style="text-decoration: none; " href="{{ URL::route('category.show', $category->id) }}">{{$category->name}}</a></h4> 

    </div> 
    @endforeach 

<?php 
namespace App\Http\Controllers; 
use Illuminate\Http\Request; 
use illuminate\HttpResponse; 
use App\Http\Requests\todolistRequest; 
use App\Http\Requests\CreateCategoryRequest; 
use App\Http\Requests; 
use App\Companylist; 
use App\Category; 
use Illuminate\Support\Facades\DB; 
class CategoryController extends Controller 
{ 

public function create(){ 
return view('category.create'); 
} 

public function index(){ 
$categories=Category::all(); 
return view('category.index',compact('categories')); 
} 
    public function store(CreateCategoryRequest $request){ 
$category = new Category($request->all()); 
$category->save(); 

    return \Redirect::route('category.create')->with('message',  'Your list has been created!'); 
    } 
    public function show($id) 
    { 
    $category = Category::findOrFail($id)->companylist()->get(); 
    $cat=Category::findOrFail($id); 
// this my route 
    Route::resource('category','CategoryController'); 

     return       view('category.show')->with('category',       $category)->with('cat',$cat); 
} 

// }

+0

「シフト」キーは、キーボードの長いボタンの底部です。 [これを定期的に使用する](http://meta.stackoverflow.com/questions/291362/advice-for-non-native-english-speakers/291370#291370)、役に立つ回答を得るチャンスが大幅に向上します。 – peterh

答えて

0

使用ブートストラップモーダルまたはポップ・アップ。 必要に応じてcategory.showビューをデザインします。 ajaxを呼び出し、返されたビュー応答をそのモーダルボディに追加して表示し、望むのと同じビューになるようにします。

のコード例では、交換し、AJAXのためである。これは、これはあなたのAjaxの方法

 $('.showModalButton').on('click',function(e){ 
     var id = $(this).data('id'); // get id of resource you want to show 
     $('.replace').empty(); // 
     $.ajax({ 
      url: 'your route/'+id, 
      type: "GET", 

      success:function(data) { 
       $('.replace').html(data); 
       }, 
      error:function(jQXHR, textStatus, errorThrown) { 
       console.log(jQXHR); 
       console.log(textStatus); 
       console.log(errorThrown); 
       } 
     }); //end Ajax call 

    }); 

この意志になりますモーダル

<!-- Show Modal content--> 
<div class="modal-content"> 
    <div class="modal-header"> 
    <button type="button" class="close" data-dismiss="modal">&times;</button> 
    <h4 class="modal-title">Show data</h4> 
    </div> 
    <div class="modal-body replace"> 

    </div> 
</div> 

を交換です

のようなものですあなたのshowメソッドは

public function show($id) 
    { 
    $category = Category::findOrFail($id)->companylist()->get(); 
    $cat=Category::findOrFail($id); 
    // this my route 
    Route::resource('category','CategoryController'); 

     return view('category.show')->with('category',$category)->with('cat',$cat); 
    } 

デザインcategory.showしかし、あなたのデータを表示したいコントローラであること。

+0

それを行う方法に関するリンク –

+0

http://stackoverflow.com/a/27741049/4757316 –

+0

@ShowoleOladayoの役に立ちましたか? –

関連する問題