我有一个 Product 表和一个 ConfigurableProduct 表。 如果同一产品有多种变体,例如不同颜色的衬衫,我会创建一个 ConfigurableProduct。 当用户查看目录时,他应该看到产品列表,除非有可配置产品,然后他应该看到每个变体都有一个选择框。
如何构建 Product 和 ConfigurableProduct 的表以及如何查询数据库以便对结果进行分页?
我将回答这个问题,就好像您没有创建表格一样。 我不确定这是否属实。
以下是一个简单的示例,但我假设您有更多数据。
您可以将可配置的产品设为对产品的引用。
如果您想要产品及其配置的列表,那么您可以这样做:
select p.name, c.variation
from products p left outer join configurable_products c
on (p.id = c.product_id);
当然,您也可以在需要时根据产品id搜索所有configurable_products。
至于你问题的分页部分,你必须澄清你的意思。 如果您不想一次获得所有内容,可以使用 limit 来限制结果。