Хобрук: Ваш путь к мастерству в программировании

Как применить регулярное выражение к полю артикула товара в magento

Я сказал 3 продукта

  1. P1 с артикулом "xyz_1" и ценой "10"
  2. P2 с артикулом "xyz_2" и ценой "20"
  3. P3 с артикулом "xyz_3" и ценой "50"

Я хочу, чтобы запрос в magento получал sku xyz с минимальной ценой, то есть только xyz_1.

Я хочу, чтобы что-то вроде этого select ,Regex('SKU','myexpression') as SKU удаляло последнюю часть, т.е. часть "_" из sku, а затем применяла фильтр к коллекции продуктов, чтобы получить продукт с минимальной ценой.

Любые идеи, как справиться с этим с Magento?

10.06.2014

Ответы:


1

Вы можете использовать это регулярное выражение: ^xyz. Это будет соответствовать любой строке, которая начинается с xyz, и игнорировать все, что следует за ней.

При этом вам нужно будет изменить свой запрос, чтобы отсортировать результаты по цене, поскольку регулярные выражения не подходят для числовых сравнений (меньше, больше и т. д.).

РЕДАКТИРОВАТЬ: В соответствии с вашим вопросом вы можете адаптировать некоторый код из здесь в это:

$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', 'бар');

10.06.2014
  • xyz это просто пример у меня много артикулов с разными первыми частями не одинаковыми 10.06.2014
  • второй мой вопрос, как применить регулярное выражение в magento??Спасибо 10.06.2014
  • это здорово, но не могли бы вы сказать мне, есть ли способ получить только первую часть для sku, т.е. xyz, поскольку приведенное выше решение даст полный sku, я хочу показать только первую часть на интерфейсе?? Спасибо за это 10.06.2014
  • @ M.Bilal: я изменил свой ответ. У меня нет экземпляра MySQL на этой машине, поэтому я не могу протестировать, но он должен дать вам суть того, что вам нужно сделать. 10.06.2014
  • Новые материалы

    Учебные заметки JavaScript Object Oriented Labs
    Вот моя седьмая неделя обучения программированию. После ruby ​​и его фреймворка rails я начал изучать самый популярный язык интерфейса — javascript. В отличие от ruby, javascript — это более..

    Разбор строк запроса в vue.js
    Иногда вам нужно получить данные из строк запроса, в этой статье показано, как это сделать. В жизни каждого дизайнера/разработчика наступает момент, когда им необходимо беспрепятственно..

    Предсказание моей следующей любимой книги 📚 Благодаря данным Goodreads и машинному обучению 👨‍💻
    «Если вы не любите читать, значит, вы не нашли нужную книгу». - J.K. Роулинг Эта статья сильно отличается от тех, к которым вы, возможно, привыкли . Мне очень понравилось поработать над..

    Основы принципов S.O.L.I.D, Javascript, Git и NoSQL
    каковы принципы S.O.L.I.D? Принципы SOLID призваны помочь разработчикам создавать надежные, удобные в сопровождении приложения. мы видим пять ключевых принципов. Принципы SOLID были разработаны..

    Как настроить Selenium в проекте Angular
    Угловой | Селен Как настроить Selenium в проекте Angular Держите свое приложение Angular и тесты Selenium в одной рабочей области и запускайте их с помощью Mocha. В этой статье мы..

    Аргументы прогрессивного улучшения почти всегда упускают суть
    В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

    Введение в Джанго Фреймворк
    Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..