2016-07-01 3 views
1

ですべてを示してテーブルcategoriesとテーブルproductsがあります。現在、私はページ上のすべてのカテゴリを表示しており、問題はありません。問題はカテゴリなしの製品があることになり、ページ上でもループさせたいということです。私はLaravel 4に</p> <p>それを作るためにどのように私は2つのテーブルからページデータに少し状態で表示したいと私はそれを考え出したことができない2つのテーブルの選択とlaravel

管理者が商品を作成するときにカテゴリを選択しますが、選択しない場合は1のデフォルト値はproductsの列single_productに保存されます。

これは

public function categories() 
{ 
    return $this->hasMany('Categories', 'category_id'); 
} 

およびカテゴリモデル

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

public function lowestProduct() { 
    return $this->products()->selectRaw('*, max(price) as aggregate') 
    ->groupBy('products.product_id')->orderBy('aggregate'); 
} 

製品モデルであり、これはproductsテーブルからsingle列を選択し、上でそれらを表示するためにどのように表示

<div class="col-xs-8 text-left" style="margin-top: 9px"> 
     @if($category['no_category'] == 0) 
      Price: <strong>{{ $category->products()->min('price') }} $</strong>       
     @else 
      Price from: <strong>{{ $category->products()->min('price') }} $</strong> 
     @endif 
    </div> 

ですカテゴリ名とともにページ?

答えて

1

カテゴリはありません。あなたのカテゴリークラスを避け、プロダクトクラスから直接取り出してください。

public function singleItems() 
{ 
    return $this->where("single_product", 1)->get(); 

} 

次のような関数を作成します。私が知っている上記

https://laravel.com/docs/5.1/eloquent-collections

があなたよりlaravelの別のバージョンのためですが、私はそれが動作するはずだと思う:詳細についてはこれをチェックしてください。それ以外のことを教えてください。

+0

このファイルをどのようなファイルに置くべきですか?製品モデルには?そして、それらをforeachする方法? –

+0

ビューファイルまたはルートファイルでそれらをforeachする必要があります。カテゴリとまったく同じことができます。 – Aprilsnar

+0

ありがとうございました!私はそれを得たと思う。私は家のコントローラー+私の見解で2番目のループに入れた。 –

関連する問題

 関連する問題