为magento数据库中的所有已启用产品构建sql查询

时间:2016-07-05 06:39:38

标签: sql magento

我是magento的新手,我想从数据库中获取已启用的产品。我需要的字段是: 产品名称,价格,SKU和数量。

我对magento表格结构并不了解。是否可以从管理面板或如果有人有一个SQL查询它将真的很有帮助。谢谢

2 个答案:

答案 0 :(得分:1)

试试这个 -

SELECT entity_id FROM `catalog_product_entity_int`
WHERE attribute_id = (
    SELECT attribute_id FROM `eav_attribute`
    WHERE `attribute_code` LIKE 'status'
) AND `catalog_product_entity_int`.value = 1

源 - https://magento.stackexchange.com/questions/83030/how-to-list-all-disabled-products-with-sql

另见这篇文章> How to pull all the product id, skus, product names, description in magento using only mysql?

答案 1 :(得分:1)

使用后端:

您可以从管理员导出所有已启用的产品。您可以从顶部导航System>>导出此内容Configuration>> Import/Export>> Dataflow - Profiles

Dataflow - Profiles中,您会看到Export Product Stocks个人资料。您可以在Field Mapping中设置必填字段,以导出具有所需属性的产品。

使用代码:

您可以在magento安装根目录中创建独立脚本,并添加以下代码:

define('MAGENTO_ROOT', getcwd());
$mageFilename = MAGENTO_ROOT . '/app/Mage.php';
require_once $mageFilename;
Mage::app();

$productCollection = Mage::getModel('catalog/product')->getCollection();
$productCollection->addAttributeToSelect('name');
$productCollection->addAttributeToSelect('price');
$productCollection->addAttributeToSelect('sku');
$productCollection->addAttributeToSelect('qty');

Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($productCollection);


foreach($productCollection as $_product) {

    $qty = (int)Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty();

    echo $_product->getName() .'<br />';
    echo $_product->getSku() .'<br />';
    echo $_product->getPrice() .'<br />';   
    echo $qty .'<br />';
    echo '<hr />';
}