如何在magento中的产品SKU字段上应用正则表达式

时间:2014-06-10 07:17:37

标签: regex magento skus

我已经说过了3个产品

  1. P1 with SKU" xyz_1"和价格" 10"
  2. P2 with SKU" xyz_2"和价格" 20"
  3. P3 with SKU" xyz_3"和价格" 50"
  4. 我希望在magento中进行查询,以sku xyz获得最低价格,仅xyz_1

    我想要这样的select ,Regex('SKU','myexpression') as SKU来删除最后一部分,即#34; _"部分来自sku,然后在产品收集上应用过滤器以获得最低价格的产品。

    任何想法如何处理Magento?

1 个答案:

答案 0 :(得分:1)

你可以这个正则表达式:^xyz。这将匹配启动xyz的任何字符串,并忽略后面的内容。

话虽这么说,你需要修改你的查询以按价格对结果进行排序,因为正则表达式不适合数字比较(少于,大于等)。

编辑:根据您的问题,您可以将here中的一些代码调整为:

$write = Mage::getSingleton('core/resource')->getConnection('core_write');

// now $write is an instance of Zend_Db_Adapter_Abstract
$readresult=$write->query("SELECT SUBSTRING(sku, 0, INSTR(sku, '_')) AS SKU FROM <your table> WHERE sku REGEXP '^<your sku>' ORDER BY price asc LIMIT 1;");

SELECT INSTR('foobarbar','bar');