0

我正在制作一个在线购物车,但在将添加到购物车添加到商品时遇到了很大的问题

 $collection->update(
                array('session' => $_SESSION["redi-Shop"],
                array('$push'=>
                array('items'=> $_POST["item"])
                )));

当客户选择他们的第一个项目添加到购物车时,它工作正常

   $collection->insert(
   array('session' => $_SESSION["redi-Shop"],
   'status' => "cart",
   'items' =>$_POST['item']));

但是在添加第一项之后,它不允许我再添加。

请任何建议都会有所帮助。

4

1 回答 1

0

第一次插入时,该items字段不是数组(可能是字符串)。

根据mongodb $push doc

如果 $push 语句中指定的字段不是数组,则操作将失败。

将插入操作更改为:

$collection->insert(
   array(
      'session' => $_SESSION["redi-Shop"],
      'status' => "cart",
      'items' => array($_POST['item'])
   ));

然后运行您的更新查询。

于 2013-02-04T13:35:29.920 回答