-1

次の情報を含む、magento データベースからの ACTIVE 製品のリストが必要です。追加情報がある場合は問題ありませんが、次の情報が必要です。

SKU:
PRODUCT NAME:
PRODUCT CATEGORY:
SHORT DESCRIPTION:
LONG DESCRIPTION:
WEIGHT:

このクエリを作成する方法は何ですか。データを取得するだけです。PHP はなく、SQL クエリのみです。(DB 構造は少し複雑です)

4

1 に答える 1

2

それを試してみてください、それは製品データを取得するために機能します:(ステータス= 2 =製品が無効、ステータス= 1 =製品が有効)

SELECT `e`.*, IF(_table_status.value_id > 0, _table_status.value, _table_status_default.value) AS `status
FROM `mage_catalog_product_entity` AS `e`
INNER JOIN `mage_catalog_product_entity_int` AS `_table_status_default`
ON (`_table_status_default`.`entity_id` = `e`.`entity_id`)
AND (`_table_status_default`.`attribute_id` = '80')
AND `_table_status_default`.`store_id` = 0
LEFT JOIN `mage_catalog_product_entity_int` AS `_table_status`
ON (`_table_status`.`entity_id` = `e`.`entity_id`)
AND (`_table_status`.`attribute_id` = (SELECT attribute_id FROM mage_eav_attribute WHERE attribute_code = 'status' AND entity_type_id = 4))
AND (`_table_status`.`store_id` = '1')
WHERE (IF(_table_status.value_id > 0, _table_status.value, _table_status_default.value) = '2')

カテゴリについては、追加の作業が必要になります。PHPとMagentoコレクションで次のように実行すると、このSQLクエリを取得できます。

/* @var $productCollection Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection */
$productCollection = Mage::getModel('catalog/product')->getCollection();
$productCollection->addFieldToFilter('status', array('eq' => '2'))->load(true);
于 2012-12-12T09:02:55.103 に答える