Php Laravel雄辩:产品、属性和属性值的关系

Php Laravel雄辩:产品、属性和属性值的关系,php,mysql,laravel,eloquent,orm,Php,Mysql,Laravel,Eloquent,Orm,我有一个产品和属性关系的场景 型号: 产品(表:产品) 属性(表:属性) 属性值(表:属性值,外键:属性id) 一个产品可以有多个属性,因此使用多对多关系b/w产品和属性很容易做到这一点 型号:属性 <?php class Attribute extends Model{ public function products() { return $this->belongsToMany(Product::class); } } 但是,当将属性分

我有一个产品和属性关系的场景

型号:

  • 产品(表:产品
  • 属性(表:属性
  • 属性值(表:属性值,外键:属性id
  • 一个产品可以有多个属性,因此使用多对多关系b/w产品和属性很容易做到这一点

    型号:属性

    <?php
    
    class Attribute extends Model{
        public function products()
        {
           return $this->belongsToMany(Product::class);
        }
    }
    
    但是,当将属性分配给项目时,用户可以从属性值中选择一个属性值,即分配给属性的值


    我如何才能以雄辩的方式管理它?

    在这种情况下,我将在产品和属性值之间创建一个轴心,然后您可以像这样“雄辩地”使用它:

    $products->sync(AttributeValues::where('attribute_id',$attribute_id);
    

    然后,如果你想分离单个属性值,你可以使用它的实例分离它。在这种情况下,我会在产品和属性值之间创建一个轴心,然后你可以像这样使用它:

    $products->sync(AttributeValues::where('attribute_id',$attribute_id);
    
    然后,如果要分离单个属性值,可以使用其实例将其分离 我设计了一个数据库模式,是真的吗?


    我设计了一个数据库模式,是真的吗?

    谢谢,我已经按照你的建议重新构造了模式。嗨@Shaheryar TVS你能帮我解决同样的问题吗?我已经按照你的建议重新构造了模式。嗨@Shaheryar TVS你能帮我解决同样的问题吗