public function ajoutPanier() { if (isset($_POST["ajoutProduit"]) && isset($_POST['quantite'])) { filter_var($_POST['quantite'], FILTER_SANITIZE_NUMBER_INT); $panier = new Panier(); $idc = Client::where("email", $_SESSION["email"])->get()[0]; $idcli = $idc->idClient; $nbPanier = $idc->whereHas('relationPanier', function ($panier) { $idc = Client::where("email", $_SESSION["email"])->get()[0]; $panier->where("valide", 0)->where('id_Client', $idc->idClient); })->get(); $idProd = Produit::find($_POST['ajoutProduit']); // si il n'y a pas de panier en cours if (sizeof($nbPanier) == 0) { $panier->prixTotal = $idProd->prix * $_POST['quantite']; $panier->id_client = $idcli; $panier->save(); } else { $id = 0; while ($idc->relationPanier[$id]->valide != 0) { $id++; } $panier = $idc->relationPanier[$id]; $panier->prixTotal += $idProd->prix * $_POST['quantite']; $panier->save(); } $produits = $panier->relationProduit; $prod = null; foreach ($produits as $produit) { if ($produit->idProduit == $idProd->idProduit) { $prod = $produit; break; } } if ($prod == null) { $panier->relationProduit()->attach($idProd, array("quantite" => $_POST['quantite'])); } else { $prod->pivot->quantite += $_POST['quantite']; $prod->pivot->save(); } $app = \Slim\Slim::getInstance(); $app->redirect($app->urlFor("catalogue")); } }
public function affichageCatalogue() { $chaine = null; foreach ($this->tableau as $array) { $libelle = $array['libelle']; $description = $array['description']; $prix = $array['prix']; $id = Produit::where('libelle', '=', $libelle)->get()[0]->idProduit; $chaine .= <<<END <ul> <li>Libelle : {$libelle}</li> <li>Description : {$description}</li> <li>Prix : {$prix}</li> </ul> <form action='' method='post' name=''> <input type='number' required='' name="quantite" placeholder='Quantité' min='1' autofocus> <button type="submit" value="{$id}" name="ajoutProduit">Ajouter au panier</button> </form> END; } return $chaine; }