朋友們,我有這個方法來檢查購物車中是否已經存在該產品。同樣,他補充說,如果產品存在,則更改數量,但他也讓產品再次發送。..$order = $this->Orders->newEntity(); if ( $this->request->is( 'post' ) ) { $order = $this->Orders->patchEntity( $order, $this->request->getData() ); $order->order = $this->Orders->Products->get( $order->product_id, ['contain' => ['Users']] ); $session = $this->request->getSession(); $cart = $session->read( 'cart' ); $counter = 0; foreach((array) $cart as $cartOne){ if($cartOne['product_id'] == $order->product_id){ $cartOne['quantity'] += 1; $counter++; break; } } $cart[] = $order; $session->write('cart', $cart);如果有人能分析一下我將不勝感激!我真的無法制作這個過濾器。
1 回答

繁星coding
TA貢獻1797條經驗 獲得超4個贊
您break
跳出循環foreach
,但隨后將新訂單附加到購物車 ( $cart[] = $order
) 而不檢查$counter
變量。您可能想首先檢查一下:
if (!$counter) { $cart[] = $order; }
- 1 回答
- 0 關注
- 108 瀏覽
添加回答
舉報
0/150
提交
取消