2012-02-27 11 views

答えて

47

アランストームは私に言ったように、「あなたはデシベルがどのように動作するかについて知る必要がなかったあなたはモデルがどのように機能するかを学ばなければなりません。」。 (これは正確な引用ではありません。私はあなたに意味を与えました)。

しかし、DB構造を理解するための独自のスキームを作成しました。だから、この画面は、それがどのように動作するかを示しています。 enter image description here enter image description here

希望、それが役立ちます。

はまた、私はこれらのリンクに目を通すことをお勧めします:

http://www.magentocommerce.com/wiki/2_-_magento_concepts_and_architecture/magento_database_diagram

http://alanstorm.com/magento_advanced_orm_entity_attribute_value_part_1

+12

Yikes!ちょうどよかった! (また、驚くべき研究のために+1) – clockworkgeek

+6

上記の画像にリンクして、正しく読むことができます:http://i.stack.imgur.com/PQsc1.png、http://i.stack.imgur.com/d65bi.png –

2

製品の属性を使用すると、製品に割り当てることができます余分な値であり、によって、メインEAVテーブルに格納されていますvarchar、decimal、text整数、日付などのデータ型に基づいて、いくつかの異なるテーブルにデータが格納されます。

Product Attそれでは、それは属性オプションテーブルに格納され、データタイプに基づいた別のテーブルにも格納されます。

次のリンクは、より良い関係を説明しています http://www.magentocommerce.com/wiki/2_-_magento_concepts_and_architecture/magento_database_diagram

深い開発者の詳細を: http://www.magentocommerce.com/knowledge-base/entry/magento-for-dev-part-7-advanced-orm-entity-attribute-value

と名前が示唆するようにセットは、あなたが出くわす他の事になります属性、属性のセット一緒にグループ化される。 http://www.magentocommerce.com/knowledge-base/entry/how-do-i-create-an-attribute-set

HTH ショーン

+1

ありがとうShaun ..リンクが便利だった.. – balanv

12

毎回私は、私は属性がeav_attributeに格納されている)online Database Diagram Tool

+0

クールリンクOvidiu ... !! +1これは... – balanv

+0

1.9のためのこのようなツールはありますか、1.7以降のデータベースは変更されていませんか? – TheRealJAG

+0

1.9 http://anna.voelkl.at/magento-ce-1-9-2-2-database-diagram/ – Ovidiu

29

1本

をチェックMagentoのDBとの関係がどのように機能するかについて何かを知りたいです。そこにattribute_idがあります。

2)オプションはeav_attribute_option_valueに格納されています。そこにはoption_idがあります。

3)オプションは製品にcatalog_product_entity_varcharで割り当てられています。そこには、の種類に応じてcatalog_product_entity_intのような別のテーブルの数があることに注意製品のentity_id、1からattribute_id)とカンマが2からoption_idsを分離されている値)

+0

アトリビュートセットとアトリビュートとのリンクはどのようになっていますか? –

3
SELECT pei.value 
FROM `catalog_product_entity_int` pei 
JOIN `eav_attribute` ea 
ON pei.attribute_id = ea .attribute_id 
WHERE pei.entity_id = {your product_id} 
AND ea.attribute_code = '{your attribute_code}' 

が必要そのような他の属性の1つが適切かもしれません。

2

私は、これらのクエリが、例えば、製品の色がどこに黒色であるかなどのようなものを探し出すのに非常に役立つことを発見しました。

-- 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} 
; 

、あなたは両方のクエリのENTITY_IDとテキスト、varchar型、int型、小数点など、最初のクエリのために、と{EID}と{データ型を}交換する必要が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} 
; 

ため。

$ 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  | 
+-----------+---------+--------------+--------------+---------------------------+-------+----------+-----------+----------+--------------------+-------------+ 

同様の一連のSQLスクリプトをカタログ用に作成することができます。

関連する問題