Внедрение электронной коммерции с использованием laravel 6, модель eav, используемая для захвата атрибутов продуктов следующим образом:
Вопрос заключается в том, как получить атрибут продукта (цвета) Значение конкретного продукта (например: productno3)текущая реализация получает ВСЕ атрибут (цвет) значения. нам нужны только (например, productno3) цвета.
данные каждой таблицы следующие:
Модель изделия
class Product extends Model{
protected $fillable = ['name', 'brand', 'price', 'description', 'image_name'];
public function category(){
return $this->belongsTo(Category::class);
}
public function attributes(){
return $this->belongsToMany(Attribute::class,'products__attributes')->withTimestamps();
} }
Модель атрибута
class Attribute extends Model{
public function products(){
return $this->belongsToMany(Product::class,'products__attributes')->withTimestamps();
}
public function values()
{
return $this->hasMany(Value::class);
}}
Модель значения
class Value extends Model{
public function attribute()
{
return $this->belongsTo(Attribute::class);
}
public function productattributevalue()
{
return $this->hasMany(Attribute::class,'products_attributes_values');
}}
ProductController
class ProductController extends Controller{
public function index()
{
// we need to get the productno3 colors from table ( products_attributes_values )
$product_no3 = Product::find(3)->attributes()->first()->values;dd($product_no3);}}
Как получить атрибут продукта (цвета) Значение конкретного продукта (например: productno3) текущей реализации получают ВСЕ атрибута (цвета) Значения. нам нужны только цвета (например: productno3). Для productno3 он должен быть только красным и синим.
должно быть только красным и синим для productno3.
Дамп SQL находится по этой ссылке: SQL DUMP