Помогите найти ошибку в запросе, не работает update функция editManufacturer

Тема в разделе "Общие вопросы", создана пользователем Jess23, 16 авг 2022.

  1. Jess23

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

    Сообщения:
    119
    Симпатии:
    14
    Подскажите, пожалуйста, почему не работает запрос на обновление данных в базе, но при создании нового производителя данные корректно записываются в базу, но не редактируется, запрос на добавление идентичный. Что я делаю не так и где моя ошибка?

    Сам запрос на обновление данных в столбце discount (функция editManufacturer в файле /admin/model/catalog/manufacturer.php)

    Код:
    $this->db->query("UPDATE " . DB_PREFIX . "manufacturer SET name = '" . $this->db->escape($data['name']) . "', discount = '" . (float)$data['discount'] . "', sort_order = '" . (int)$data['sort_order'] . "' WHERE manufacturer_id = '" . (int)$manufacturer_id . "'");
    Сам контроллер:
    Код:
            if (isset($this->request->post['discount'])) {
                $data['discount'] = $this->request->post['discount'];
            } elseif (!empty($manufacturer_info)) {
                $data['discount'] = $manufacturer_info['discount'];
            } else {
                $data['discount'] = 0;
            }
    Ну и вьюха админка:
    Код:
                  <div class="form-group">
                    <label class="col-sm-2 control-label" for="input-discount">Название</label>
                    <div class="col-sm-10">
                      <input type="text" name="discount" value="<?php echo $discount; ?>" id="input-discount" class="form-control" />
                    </div>
                  </div>
     
  2. karpov

    karpov Продвинутый пользователь

    Сообщения:
    1.518
    Симпатии:
    241
    Вам нужно посмотреть есть что то в моделе в запросе $data['discount']
    Если нет, то уже смотреть, почему. В контроллере должны передавать данные в update