首页 > 解决方案 > Laravel 对不同颜色和大小进行分组

问题描述

我正在使用 Laravel 开发一个电子商务网站,我真的很纠结这个问题。

每个具有不同颜色或尺寸的产品都必须作为产品存储在数据库中。因此,例如,我们提供一些黑色和白色的 T 恤,尺寸为 M、L、XL,数据库中有 6 种 T 恤产品:

  1. T恤黑色M
  2. T恤黑色L
  3. T恤黑色XL
  4. T恤红M
  5. T恤红L
  6. T恤红XL

我们有一个与产品相关的表格,其格式如下:

ID product_id 属性 价值 group_id
-- ---------- 颜色 黑色的 --------
-- ---------- 颜色 红色的 --------
-- ---------- 尺寸 --------
-- ---------- 尺寸 l --------
-- ---------- 尺寸 XL --------

在控制器中我们使用这些查询来获取数据

    $colorGroup = ProductGroup::with('product')->where('group_id', '=', $product->group_uid)->where('attribute', '=', 'color')->get();
    $sizeGroup = ProductGroup::with('product')->where('group_id', '=', $product->group_uid)->where('attribute', '=', 'size')->get();

现在,如果您访问 T 恤黑色 M 的产品页面,我们还想显示尺码和颜色的其他选项以及当前选择的产品颜色和尺码。例如:

选择颜色:黑色(已选)、红色

选尺码:M(已选)、L、XL

标签: phplaravel

解决方案


推荐阅读