动作仅在随机尝试后才起作用

时间:2016-04-07 13:02:38

标签: php symfony

我有点困惑为什么我的removeAction仅在随机尝试次数后才起作用。有时它可以在4或5次点击后工作,而其他工作则可以立即使用。

该按钮用于从用户购物车中删除项目。我从购物车中获取产品ID,然后使用remove()flush()来更新数据库。就像我说的那样,只有在随机尝试之后才有效。这是为什么?我的逻辑似乎很合理,但显然有些不对劲,但我无法弄明白。

如果我转储$quantity$cart,我每次使用remove()之前都会看到正确的产品ID

removeAction function

/**
 * Removes a 'product' from the cart
 *
 * @Route("/{id}/remove", name="product_remove")
 * @METHOD("GET")
 * @Template()
 */
public function removeAction(Request $request, $id) {

    $em = $this->getDoctrine()->getManager();

    $product = $em->getRepository('ShopBundle:Product')->find($id);

    $cart = $em->getRepository('ShopBundle:UserCart')->findOneBy(['user' => $this->getUser(), 'submitted' => false]);

    $quantity = $em->getRepository('ShopBundle:Quantity')->findOneBy(['product' => $product->getId()]);
                                            //get product id from the cart and then remove it

// product gets removed but only after a random # of click on the remove button...



    // dump($quantity);
    // dump($cart);


    $em->remove($quantity);
    $em->flush();

    $this->addFlash('notice', 'The product: '.$product->getName().' was removed!');

    return $this->redirectToRoute('product_showCart');
}

感谢任何帮助,谢谢!

0 个答案:

没有答案