Друзья, у меня есть этот метод, чтобы проверить, есть ли товар в корзине. То же самое, он добавляет, меняет количество, если продукт существует, но он также позволяет отправить продукт снова.
.
.
$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);
Я признателен, если кто-нибудь сможет проанализировать! Я действительно не могу сделать этот фильтр.