How are product attributes and attribute options stored in Magento database?

前端 未结 5 794
隐瞒了意图╮
隐瞒了意图╮ 2020-12-22 19:01

I am trying to figure out how the linkage between attribute and attribute options, and product and attributes are made in Magento. Is there any reference to how this is work

5条回答
  •  执念已碎
    2020-12-22 19:26

    I've found these queries to be very helpful for hunting down things like - where does it say the product color is black?, for example.

    -- show_product_attr.sql
    select
       p.entity_id,
       p.entity_type_id,
       p.attribute_set_id,
       p.type_id,
       p.sku,
       a.attribute_id,
       a.frontend_label as attribute,
       av.value
    from
       catalog_product_entity p
       left join catalog_product_entity_{datatype} av on
          p.entity_id = av.entity_id
       left join eav_attribute a on
          av.attribute_id = a.attribute_id
    where
       -- p.entity_id = 28683
       -- p.sku = '0452MR'
       p.entity_id = {eid}
    ;
    

    And for attr_options

    -- show_product_attr_options.sql
    select
       p.entity_id,
       -- p.entity_type_id,
       -- p.attribute_set_id,
       p.type_id,
       p.sku,
       a.attribute_id,
       a.frontend_label as attribute,
       -- a.attribute_code,
       av.value,
       ao.*
    from
       catalog_product_entity p
    
       left join catalog_product_entity_int av on
          p.entity_id = av.entity_id
    
       left join eav_attribute a on
          av.attribute_id = a.attribute_id
       left join eav_attribute_option_value ao on
          av.value = ao.option_id 
    where
       -- p.entity_id = 28683
       p.entity_id = {eid}
    ;
    

    You need to replace {datatype} with text, varchar, int, decimal, etc, for the first query, and {eid} with entity_id for both queries. Which you can do on the command like like this:

    $ cat show_product_attr_options.sql | sed -e "s/{eid}/30445/" | mysql -uUSER -pPASS DATABASE -t
    +-----------+---------+--------------+--------------+---------------------------+-------+----------+-----------+----------+--------------------+-------------+
    | entity_id | type_id | sku          | attribute_id | attribute                 | value | value_id | option_id | store_id | value              | colorswatch |
    +-----------+---------+--------------+--------------+---------------------------+-------+----------+-----------+----------+--------------------+-------------+
    |     30445 | simple  | 840001179127 |           96 | Status                    |     1 |     5972 |         1 |        0 | Male               | NULL        |
    |     30445 | simple  | 840001179127 |          102 | Visibility                |     1 |     5972 |         1 |        0 | Male               | NULL        |
    |     30445 | simple  | 840001179127 |          122 | Tax Class                 |     2 |     5973 |         2 |        0 | Female             | NULL        |
    |     30445 | simple  | 840001179127 |          217 | Size                      |   257 |    17655 |       257 |        0 | XS                 | NULL        |
    |     30445 | simple  | 840001179127 |          217 | Size                      |   257 |    17657 |       257 |        1 | XS                 | NULL        |
    |     30445 | simple  | 840001179127 |          224 | Color                     |   609 |    18717 |       609 |        0 | Arctic Ice Heather | NULL        |
    |     30445 | simple  | 840001179127 |          260 | Featured                  |     0 |     NULL |      NULL |     NULL | NULL               | NULL        |
    |     30445 | simple  | 840001179127 |          262 | Clearance Product         |     0 |     NULL |      NULL |     NULL | NULL               | NULL        |
    |     30445 | simple  | 840001179127 |          263 | Skip from Being Submitted |     0 |     NULL |      NULL |     NULL | NULL               | NULL        |
    |     30445 | simple  | 840001179127 |          283 | Discontinued              |     0 |     NULL |      NULL |     NULL | NULL               | NULL        |
    +-----------+---------+--------------+--------------+---------------------------+-------+----------+-----------+----------+--------------------+-------------+
    

    A similar set of sql scripts can be created for catalog.

提交回复
热议问题