如何在 magento 中获取 SKU 列表
How to get a list of skus in magento
如何在不使用 magento 循环的情况下获取 SKU 列表。
示例:我在条件中使用以下代码。
$productsCollection = Mage::getModel('catalog/product')->getCollection()
->addAttributeToSelect('sku');
现在我想得到 array('A001','A002'....)
等结果。
我不想迭代(循环)产品集合。
求推荐。
如果您想以这种方式检索集合,则必须遍历集合并检索 sku。
$skus = array();
foreach ($productsCollection as $product) {
$skus[] = $product->getSku();
}
如果您不想这样,您可以使用简单的查询,因为 SKU 保存在 catalog_product_entity
table 中。
$conn = Mage::getSingleton('core/resource')->getConnection('core_write');
$table = 'catalog_product_entity';
$q = "SELECT sku FROM {$table}";
$list = $conn->fetchOneFieldAll($q, 'sku');
检索 read 连接,您应该使用 ->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;
}
如何在不使用 magento 循环的情况下获取 SKU 列表。 示例:我在条件中使用以下代码。
$productsCollection = Mage::getModel('catalog/product')->getCollection()
->addAttributeToSelect('sku');
现在我想得到 array('A001','A002'....)
等结果。
我不想迭代(循环)产品集合。
求推荐。
如果您想以这种方式检索集合,则必须遍历集合并检索 sku。
$skus = array();
foreach ($productsCollection as $product) {
$skus[] = $product->getSku();
}
如果您不想这样,您可以使用简单的查询,因为 SKU 保存在 catalog_product_entity
table 中。
$conn = Mage::getSingleton('core/resource')->getConnection('core_write');
$table = 'catalog_product_entity';
$q = "SELECT sku FROM {$table}";
$list = $conn->fetchOneFieldAll($q, 'sku');
检索 read 连接,您应该使用 ->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;
}