私はSymfony2とPHPを初めて使いましたが、私は自分のやり方を学んでいます。ショッピングカートをクリアする方法
シンプルなショッピングカートを作成しました。 「購入」をクリックすると、データベース内の項目がfalseからtrueに変わるので、カート内の項目をクリアして、効果的にそのカートを無効にします(どのカートがアクティブで、どのカートがアクティブでないかが示されます)。
私のコードは何をしていないのですか?買い物をクリックすると(アイテムはそこに残っています)、私のDBに私のフィールドは変わりません。
本当にありがとうございました。
/**
* Displays the products bought from products 'added to cart'
*
* @Route("/bought", name="product_bought")
* @Method("GET")
* @Template()
*/
public function boughtAction(Request $request) {
$em = $this->getDoctrine()->getManager();
$user = $this->getUser();
$cart = $em->getRepository('ShopBundle:UserCart')->findOneBy(['user' => $this->getUser()]);
$totalCostOfAllProducts = 0;
$cart->getSubmitted(); //it's false
var_dump($cart->getSubmitted());
$cart->setSubmitted(true);
$sub = $cart->getSubmitted(); //it's true
if ($sub == true) {
$cart = null;
}
// var_dump($cart);
var_dump($sub);
return array(
'user' => $user,
'quantity' => $cart->getQuantities(),
'totalCostOfAllProducts' => $totalCostOfAllProducts,
);
}
'$ cart- null;の後に' $ em-> persist($ cart);と 'flush()'を入れます。エラーメッセージ "persistをnullにすることはできません"が表示されます。 – Ale