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 に答える