批量产品类别更新(将“home”类别添加到所有产品) - Prestashop 1.6.0.6

时间:2014-06-24 14:27:06

标签: php sql prestashop prestashop-1.6

我发现我网站上所有产品的数量都不等于home类别中的产品数量。这是因为在添加产品期间并不总是选择这个最大的父类别。因此,有些产品属于home但有些产品属于home

虽然我需要为类别ps_product页面显示正确数量的产品,但我在数据库中查找包含类别但未在ps_product_lang或{{1}中找到它们的列}}

sql查询背后的想法是什么,可以批量修改数据库中的相应字段,以便我的所有产品都属于类别home

您的平常帮助表示赞赏。谢谢。

修改 我发现数据库中的表是ps_category_product。它是唯一的吗?

这个表是这样的:

+-------------+------------+----------+
| id_category | id_product | position |
+-------------+------------+----------+
|          11 |          1 |        1 |
|          11 |          2 |        2 |
|          11 |         10 |        3 |
+-------------+------------+----------+

我可能需要创建x行(x =产品数量)。每行有id_category = 1和id_product = product id和position = position ++。是最好的方法吗?

有关如何在sql中实现它的任何帮助吗?

再次感谢。

1 个答案:

答案 0 :(得分:3)

您可以使用简单的SQL查询将每个产品分配到Home类别:

INSERT IGNORE INTO ps_category_product SELECT 2, id_product, 0 FROM ps_product

2通常是id_category类别的Home值,0position

如果您想要唯一的position值,则需要更复杂的查询:

INSERT IGNORE INTO ps_category_product SELECT 2, id_product, ((SELECT MAX(position) FROM ps_category_product WHERE id_category = 2) + (@inc := @inc + 1)) FROM ps_product INNER JOIN (SELECT @inc := 0) AS i