Обновить количество товаров в админке Есть решение

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

1 ответ

  • 1
    Леонид Вакуленко Webasyst 19 апреля 2016 07:07 # Решение

    Выполнить SQL:

    DELETE cp
    FROM shop_category_products AS cp
        LEFT JOIN shop_product AS p
            ON cp.product_id=p.id
    WHERE p.id IS NULL

    Это удалит оставшиеся мусорные строки из shop_category_products, для которых больше нет соответствующего товара.

    И потом ещё такой:

    UPDATE shop_category AS c
        JOIN (
            SELECT c.id, c.count, count(cp.product_id) AS cnt
            FROM shop_category c
                LEFT JOIN `shop_category_products` AS cp
                    ON cp.category_id = c.id
            WHERE c.type = 0
            GROUP BY c.id
            HAVING c.count != cnt
        ) AS r ON c.id = r.id
    SET c.count = r.cnt

    Это обновит счётчики в таблице shop_category.

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите