2017-05-02 18 views
1

カテゴリに関連する商品を表示しようとしています。私のメニューにはカテゴリのリストがあります。このカテゴリをクリックすると、このカテゴリに関連する商品が表示されます。私はちょうど.. laravelは、誰かが私を助けることができ勉強していLARAVEL - 関連カテゴリに商品を表示

DATABASE:

-categories: ID, NAME 
-products: has Category_id 

ビュー

public function getCategory($category) { 
    $singleCategory = Category::find($category); 
    return view('pages.category', ['category' => $singleCategory]); 
} 

がどのように私はここから行くん

Route::get('/category' , [ 
    'uses' => '[email protected]', 
    'as' => 'category.single' 
    ]); 

コントローラ?次の行を1として

+0

**ここからどうやって行くのですか?**はどういう意味ですか? –

答えて

0

は関係その後、

public function products() 
{ 
    return $this->hasMany('App\Product'); 
} 

を追加しますcategory_idで製品を入手します

+0

ありがとう、私は関数を追加しました。 – Mette

0

$singleCategory = Category::find($category); 
return view('pages.category', ['category' => $singleCategory]); 

categoryリストは$categorypages.categoryページで提供されています。そのCollectionオブジェクトは、foreach()ループを使用してそのオブジェクトにアクセスできます。

0

ここからはどうすればいいですか?

わかりません。

しかし、あなたはカテゴリーの製品を取得したい場合は、あなたの問題のために、ちょうど行います

$singleCategory = Category::find($category); 
$products = $singleCategory->products; 

(私はこれ読んで、あなたはCategoryモデルでproducts方法を追加したと仮定し、そうでない場合:https://laravel.com/docs/5.4/eloquent-relationships#one-to-manyを) 。

次に、あなたの製品にループすることにより、貴社の製品を表示することができます:あなたは

$singleCategory->products 

とを呼び出すことができCategory.phpモデルで

foreach($products as $product) { 
    echo $product->name; 
} 
+0

はい私は理解していますが、私は何かが私のビューやコントローラに間違っていると思う。 非オブジェクトのプロパティを取得しようとしています(ビュー:.... \ resources \ views \ pages \ product.blade.php) – Mette

関連する問題