Adi*_*oui 2 php sql prestashop prestashop-1.6
我观察到所有产品的数量不等于 category 中的产品数量home
。这是因为在产品添加过程中并不总是选择这个最大的父类别。所以有些产品属于home
但有些不属于。
虽然我需要为类别home
页面显示正确数量的产品,但我正在数据库中查找包含类别但未在ps_product
或 中 找到它们的列ps_product_lang
。
可以批量修改数据库中相应字段的sql查询背后的想法是什么,以便我的所有产品都属于 category home
。
感谢您通常的帮助。谢谢你。
编辑:
我发现数据库中的表是ps_category_product
. 它是唯一的吗?
这张表是这样的:
+-------------+------------+----------+
| id_category | id_product | position |
+-------------+------------+----------+
| 11 | 1 | 1 |
| 11 | 2 | 2 |
| 11 | 10 | 3 |
+-------------+------------+----------+
Run Code Online (Sandbox Code Playgroud)
我可能需要创建 x 行(x = 产品数量)。每行都有 id_category=1 和 id_product= product id 和 position= position++。是最好的方法吗?
关于如何在 sql 中实现它的任何帮助?
再次感谢。
您可以Home
使用简单的 SQL 查询将每个产品分配到该类别:
INSERT IGNORE INTO ps_category_product SELECT 2, id_product, 0 FROM ps_product
Run Code Online (Sandbox Code Playgroud)
2
通常是类别的id_category
值Home
,0
是position
。
如果您想要唯一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
Run Code Online (Sandbox Code Playgroud)