1

2つのテーブルのデータをページに表示したいのですが、少し条件があり、Laravel 4で作成する方法がわかりません。

だから私は tablecategoriesと tableを持っていますproducts。現在、ページ上のすべてのカテゴリを表示していますが、問題はありません。問題は、カテゴリのない製品があり、それらをページでもループしたいということです。

管理者が製品を作成するとき、彼はカテゴリを選択しますが、何も選択しない場合は、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');
}

そしてこれが景色

    <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>

singleテーブルから列を選択productsし、カテゴリ名とともにページに表示する方法は?

4

1 に答える 1

1

それからカテゴリーはありません。カテゴリ クラスを避けて、製品クラスから直接取得してください。次のような関数を作成します。

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

}

次に、結果を foreach します。詳細については、これを確認してください。

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

上記はあなたのものとは別のバージョンのlaravel用であることは知っていますが、うまくいくはずです。そうでなければ教えてください、それから私はさらに調べます。

于 2016-07-03T17:39:06.940 に答える