2016-03-24 8 views
1

Açılır liste filtrelemesi yapmak istiyorum.Laravel 5.2 filter listesinden çıkar

Bazı sayfanın başlık ve kategorilerle gösterildiği bir web sayfam var.

Sayfada bir aşağı doğru nav.blade.php vardır. Kategoriler tablosundan dinamik olarak açılır liste oluşturuyorum. Ancak bir açılır menü seçtiğimde (örneğin bir kategori adı) sayfanın yalnızca bu kategorinin gönderilerini göstermesini istiyorum. Ayrıca Kategori ve Mesajlar modelini oluşturdum ve ilişkileri kurdum. Ana sayfamdaki tüm yayınları görebiliyorum, ancak içeriği aşağı açılan listeyle filtreleyemiyorum.

Neyi yanlış yapıyorum? ve bu sorunu nasıl çözebilirim?

Benim nav.blade:

<li class="dropdown"> 
    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" 
     aria-haspopup="true" aria-expanded="false">Dropdown 
     <span class="caret"></span></a> 
    <ul class="dropdown-menu"> 
     <li>@foreach($categories as $category) 
       <a href="{{URL::route('home',$category->id)}}"> 
        <option value="{{$category->id}}">{{ $category->name }}</option> 
       </a> 
      @endforeach 
     </li> 
    </ul> 
</li> 
+0

Sorunuzu düzelttim, lütfen okuyun ve onaylayın, çünkü önceki formülasyonunuz anlaşılabilir değildi? –

+0

tamam teşekkür ederim çok – minchevz

+0

hiçbir sorun, sen benim için bunu yapmak için biraz zaman harcamak yana çünkü aşağıdaki çözüm çalışıyordu demeliydin :) iyi şanslar –

cevap

1

Bu alacağı başlamanıza:

Eğer böyle bir yol var varsayarsak: [email protected] yöntemde

Route::get('/{category_id}', ['as'=>'home', 'uses'=>'[email protected]']); 

:

public function show($category_id) 
{ 
    $categories = Category::all(); 
    $selected_category = Category::with('posts')->where('id', $category_id)->first(); 
    $posts = $selected_category->posts; 

    return redirect()->back()->with(compact('posts', 'categories')); 
} 

Yönlendirme konumunu değiştirebilirsiniz.

+0

Böyle bir hata var: Builder.php satırında BadMethodCallException 2177: Tanımlanmamış yönteme çağrı Illuminate \ Database \ Query \ Builder :: posts() – minchevz

+0

İlişkilendirme ve Kategori modellerinde ilişkilerinizi Kategori modeli için –

+0

olarak ayarladınız: public function posts() { $ this-> hasMany ('App \ Models \ Post'); } ve kullanıcı modeli için: public function category() { $ this-> aittirTo ('Uygulama \ Modeller \ Kategori');Post model için ayrıca:} – minchevz