Использование Eloquent - простой способ получения реляционных данных.
1) Цена (принадлежит продукту и магазину)
2) Товар (имеет много цен)
3) Магазин (имеет много цен)
1) Price.php
<?php
namespace App\Models;
use Eloquent;
class Price extends Eloquent{
protected $table = 'prices';
public function store()
{
return $this->belongsTo('App\Models\Store');
}
public function product()
{
return $this->belongsTo('App\Models\Product');
}
}
2) Product.php
<?php
namespace App\Models;
use Eloquent;
class Product extends Eloquent
{
protected $table = "products";
public function prices()
{
return $this->hasMany('App\Models\Price');
}
}
3) Store.php
<?php
namespace App\Models;
use Eloquent;
class Store extends Eloquent
{
protected $table = "stores";
public function prices()
{
return $this->hasMany('App\Models\Store');
}
}
После объявления модели вам нужно получить такие записи
$price = \App\Models\Price::with(['store','product'])->groupby(['store.name','product.name'])->get();
$price->store->name;
Я надеюсь, что вы должны помочь этому.