簡體   English   中英

在laravel中有很多工具

[英]has many implement in laravel

我發現自己從laravel開始,我需要以下幫助:我之間存在一對多關系:一個產品可以同時具有多個圖像,一個圖像屬於一個產品。 碼:

產品:

class Product extends Model
{
  public function images(){
    return $this->hasMany('App\Image');
  }
}

圖片:

class Image extends Model
{
  public function product(){
    return $this->belongsTo('App\Product');
  }
}

現在,為了顯示視圖,我只想顯示每個產品的第一張圖片,我在控制器中執行以下操作:

public function index()
{
  $products = Product::all();
  $products = Product::join('images', 'products.id', '=', 'images.id')->select('products.id','products.denomination_prod','products.description','pooducts.price','images.path')
  ->get();

  return view('products.products', compact('products'));
}

現在,您可以告訴我是否正確完成了操作。 那是我遵守的良好結構標准嗎? 我希望你能幫幫我; 對於許多人來說,這可能是一個愚蠢的問題,但這是我采用這個出色框架的第一步,並希望以正確的方式學習它。

無需使用join() 您可以只使用聲明的關系:

$products = Product::with('images')->get();

然后您將為每個產品收集圖像。 然后,您可以對每個產品的圖像集進行任何操作。 一個簡單的循環可能會有用:

@foreach($products as $product)
    <div class="col-lg-4 col-md-6 col-xs-12">
        <img src="{{asset($product->images->first())}}" />
    </div>
@endforeach

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM