如何获取magento中的skus列表

问题描述 投票:0回答:2

如何使用magento中的循环获取skus的列表。示例:我使用下面的代码与我的条件。

$productsCollection = Mage::getModel('catalog/product')->getCollection()
    ->addAttributeToSelect('sku');

现在我想以array('A001','A002'....)等结果。我不想迭代(循环)产品集合。

请建议。

magento magento-1.9 product
2个回答
3
投票

如果要以这种方式检索集合,则必须循环访问集合并检索sku。

$skus = array();
foreach ($productsCollection as $product) {
    $skus[] = $product->getSku();
}

如果您不想这样,您可以使用简单的查询,因为SKU保存在catalog_product_entity表中。

$conn = Mage::getSingleton('core/resource')->getConnection('core_write');
$table = 'catalog_product_entity';
$q = "SELECT sku FROM {$table}";
$list = $conn->fetchOneFieldAll($q, 'sku');

0
投票

检索读取连接你应该使用->getConnection('core_read')而不是->getConnection('core_write')。整个代码低于其运行速度更快。

$resource = Mage::getSingleton('core/resource');
$readConnection = $resource->getConnection('core_read');
$skus = $readConnection->fetchCol('SELECT sku FROM `catalog_product_entity`');
foreach ($skus as $sku) {
    echo $sku;
}
© www.soinside.com 2019 - 2024. All rights reserved.