Unknown column ‘paid’ in ‘field list’ в Virtuemart 3.6.0

Комментариев: 0

Столкнулся вот с такой ошибкой в административной панели магазина при попытке просмотреть заказ и сразу решил написать о том, как эту ошибку я буду решать, так скажем алгоритм решения в деталях. Для тех, кому тупо нужно быстро исправить ошибку, листайте вниз под заголовок "Решение".

Вода

  1. И так, мы имеем понимание того, что Virtuemart не может найти столбец в базе данных, который называется paid. Прекрасно, наверное нам нужно добавить этот столбец и проблема решится. Но в какую таблицу?
  2. Хммм...
  3. Страница с заказами нам даёт подсказки: /administrator/index.php?option=com_virtuemart&view=orders
  4. Сразу добавить или глянуть контроллер и вид? Добавлю сразу, посмотрим что будет. Интересно, а какого типа должно быть поле? Да сделаем vchar(255)!
  5. Что-то не помогло...придётся всё таки смотреть контроллер и вид гляну тоже.
  6. Так-то на первый взгляд всё правильно...Сейчас найду заказ в базе данных и в поле напишу 1. Ну да, работает, теперь у одного заказ появился зеленый флажок, что он оплачен. Но при тыке на заказа ошибка не ушла. Странно, надо подумать.
  7. Нашел в контроллере функцию editOrderItem(), которая видимо отвечает за редактирование заказа. Мимо...Пойду гляну модель. Зачем я вообще контроллер смотрел?
  8. Интересно девки пляшут...Тут есть запрос в базу, где paid выбирается не только из virtuemart_orders, а из virtuemart_order_items тоже. Нет проблем, щас и туда вставим.
  9. Ну слава богу, а то я начал нервничать. Работает!
к содержанию ↑

Решение проблемы

Необходимо добавить в таблицу virtuemart_order_items и virtuemart_orders поле paid.

Для вашего удобства, SQL запрос:

ALTER TABLE префикс_virtuemart_order_items ADD COLUMN paid VARCHAR (20)
ALTER TABLE префикс_virtuemart_orders ADD COLUMN paid VARCHAR (20)

Отправить ответ

avatar
  Подписаться  
Уведомлять