получить массив товаров у которых значение ean одинаково

Тема в разделе "Общие вопросы", создана пользователем Dimasscus, 10 дек 2021.

  1. Dimasscus

    Dimasscus Пользователь

    Сообщения:
    110
    Симпатии:
    1
    Всем привет. сижу туплю но не решается
    Хочу вывести в карточке товара -товары аналоги. ean у всех аналогов одинаков.
    взял за основу похожие, застрял на этапе получения данных в модели
    добавил функцию
    public function getProductAnalogi($product_id) {
    $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product WHERE ean = '" . (int) . "'");

    return $query->rows;
    }
    и понял что не понял как отфильтровать :(
    понимаю что нужно получить как то значение ean как константу, но...
    буду благодарен за любую помощь
     
  2. Ravilr

    Ravilr Специалист

    Сообщения:
    3.877
    Симпатии:
    1.064
    Так если product_id известен, то значит и еан тоже. Передайте его из контроллера например.
     
  3. Dimasscus

    Dimasscus Пользователь

    Сообщения:
    110
    Симпатии:
    1
    Подскажите как из контролера передать значения всех одинаковых этому товару ean?
    К примеру есть 5 товаров с одинаковым еаn. Я хочу в карточке товара одного получить их все. Чтобы отобразить в виде как рекомендуемые
     
  4. Ravilr

    Ravilr Специалист

    Сообщения:
    3.877
    Симпатии:
    1.064
    Зачем? Вы из контроллере передаете еан в модель, а в моделе вы с помощью запроса формируете запрос, который вернет вам выборку обратно в контролллер.
     
  5. Dimasscus

    Dimasscus Пользователь

    Сообщения:
    110
    Симпатии:
    1

    Я пытаюсь получить на странице товара данные других товаров, имеющих одинаковый идентификатор. В контролере у меня есть массив данных одного товаров и выборка по ключу product_id
    Как мне получить массив товаров с выборкой по ключу ean(учитывая что ean не уникален для n- товаров
     
  6. Ravilr

    Ravilr Специалист

    Сообщения:
    3.877
    Симпатии:
    1.064
    для начала в контроллере должно быть что то такое
    PHP:
    $this->model_catalog_product->getProductAnalogi($product_info['ean']);
    а уже потом в моделе
    Код:
    public function getProductAnalogi($product_id) {
    у вас в переменной product_id появится значение ean
    Эту переменную и ставите в запрос WHERE ean =
     
  7. Dimasscus

    Dimasscus Пользователь

    Сообщения:
    110
    Симпатии:
    1
     
  8. Dimasscus

    Dimasscus Пользователь

    Сообщения:
    110
    Симпатии:
    1


    подскажите пожалуйста каким образом можно реализовать, чтобы не выводило товар в котором находимся?
     
  9. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    685
  10. Dimasscus

    Dimasscus Пользователь

    Сообщения:
    110
    Симпатии:
    1
    Огромное спасибо Chukcha за пендали в нужном направлении. Готового решения не искал, интересно было именно разобраться.
    Потратил кучу нервных клеток и кофе:)) но зато победил:))