[英]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.