Сначала вы должны определить отношение в Product
модели:
function product_attributes() {
return $this-hasMany(ProductAttribute::class); // assuming that product_attributes table has product_id column in it.
}
В контроллере получите продукты со всеми атрибутами:
// with product_attributes (name of the relation)
$products = Product::where('product_slug',$slug)->with('product_attributes')->get();
Вы можете отфильтровать, какие атрибуты включить из вашего отношение, например,
$products = Product::where('product_slug',$slug)->with(['product_attributes'=>function($query) {
$query->where('attribute_name','product_size');
])->get();
позже, в блейде:
@foreach($products as $product)
{{$product->name}}
// don't use product_attributes() because it will make a query for each product!
// use it without parthanees
@foreach($product->product_attributes as $attribute)
{{$attribute->name}}: {{$attribute->value}}
@endforeach
@endforeach
Проверьте Официальная документация для получения дополнительной информации об отношениях и способах их запроса.