2017-03-20 16 views
1

カテゴリとすべてのサブカテゴリからすべてのページを取得しようとしています。カテゴリとすべてのサブカテゴリからすべてのページを取得

私の現在の "カテゴリー" テーブル構造( "category_parent" の親カテゴリのNULL):

id | category_name | category_parent 

"ページの" テーブル構造:

id | page_name 

"PageRelations" テーブル構造:

id | page_id | category_id 

PageRelationsモデル:

<?php 

namespace App\Http\Models; 

use Illuminate\Database\Eloquent\Model; 

class PageRelations extends Model 
{ 
    public function categoryPages() 
    { 
     return $this->hasMany('App\Http\Models\Pages', 'id', 'page_id'); 
    } 

    public function page() 
    { 
     return $this->hasOne('App\Http\Models\Pages', 'id', 'page_id'); 
    } 
} 

は例えば、構造がある場合:私は "CAT1" をクリックすると

+Cat1 
    Page1 
    Page2 
    +Cat2 
    Page3 
    +Cat3 
     Page4 
     Page5 
+Cat4 
    Page6 
    Page7 

は、それが返されます:ページ1、ページ2、PAGE3、page4、PAGE5。

カテゴリとすべてのサブカテゴリからすべてのページを取得するにはどうすればよいですか?

答えて

0

あなたはルートのようないくつかのものに変更する必要があります:あなたのコントローラー

Route::get('category/{id}','[email protected]'); 

を:

class PagesController extends Controller { 
    public function displayProducts($id) { 
     $categories = Category::where('id', '=', $id)->get(); 
     $products = Product::where('cat_id','=', $id)->get(); 
     return view('category.show', compact('products', 'categories')); 
    } 
} 
+0

それが唯一の現在のカテゴリページを返します。私は、すべてのサブカテゴリで現在のカテゴリーページとページを取得したい – rusbear28

関連する問題