如何在拉拉维尔莫尔廷购物车中添加多个具有不同尺寸的相同ID的产品


How to Add more than one products of same id with different sizes in laravel moltin cart?

我正在尝试使用 Moltin 购物车添加多个具有相同 ID 但尺寸不同的产品。这里的问题是,如果我尝试将不同尺寸的相同产品添加到购物车中,它只会增加数量而不是附加它。我在谷歌上搜索了一个解决方案,但我发现这是因为将相同的 ID 传递到 Cart::insert() 方法中。

推车插入方式为:

Cart::insert(array(
    'id' => $product->id,
    'name' => $product->title,
    'price' => $product->price,
    'dimension'=>null,
    'unit'=>$product->unit,
    'quantity' => $quantity,
    'image' => $product->image,
    'tax' =>$product->taxvalue,
    'taxtype'=>$product->tax,
    'pincode' =>$pincode,
    'shippingfee'=>Session::get('shippingfee'),
    'retailerId' =>$retailerIdfromProductId
));  

如果维度不为空,我想追加一个新产品。我该怎么做?

我从未使用过 Moltin 购物车包,但查看代码,它看起来像是使用 id 字段和options数组字段的组合来构建项目标识符。因此,如果id相同,但options不同,则应在购物车中插入两个不同的项目。

你能做这样的事情吗:

// first item with no dimension
Cart::insert(array(
    'id' => $product->id,
    'name' => $product->title,
    'price' => $product->price,
    'unit' => $product->unit,
    'quantity' => $quantity,
    'image' => $product->image,
    'tax' => $product->taxvalue,
    'taxtype' => $product->tax,
    'pincode' => $pincode,
    'shippingfee' => Session::get('shippingfee'),
    'retailerId' => $retailerIdfromProductId,
    'options' => array(
        'dimension' => null
    )
));
// second item with 'M' dimension
Cart::insert(array(
    'id' => $product->id,
    'name' => $product->title,
    'price' => $product->price,
    'unit' => $product->unit,
    'quantity' => $quantity,
    'image' => $product->image,
    'tax' => $product->taxvalue,
    'taxtype' => $product->tax,
    'pincode' => $pincode,
    'shippingfee' => Session::get('shippingfee'),
    'retailerId' => $retailerIdfromProductId,
    'options' => array(
        'dimension' => 'M'
    )
));