/**
  * Payments
  */
 public function checkout()
 {
     $ids = session('likes', []);
     $total = 0;
     foreach ($ids as $id) {
         $movie = Movies::find($id);
         $total = $total + $movie->price;
     }
     $payer = PayPal::Payer();
     $payer->setPaymentMethod('paypal');
     $amount = PayPal::Amount();
     $amount->setCurrency('EUR');
     $amount->setTotal($total);
     $transaction = PayPal::Transaction();
     $transaction->setAmount($amount);
     $transaction->setDescription("Récapitulatif total des " . count($ids) . " films commandés");
     $redirectUrls = PayPal::RedirectUrls();
     $redirectUrls->setReturnUrl(route('cart_done'));
     $redirectUrls->setCancelUrl(route('cart_cancel'));
     $payment = PayPal::Payment();
     $payment->setIntent('sale');
     $payment->setPayer($payer);
     $payment->setRedirectUrls($redirectUrls);
     $payment->setTransactions(array($transaction));
     //response de Paypal
     $response = $payment->create($this->_apiContext);
     $redirectUrl = $response->links[1]->href;
     //redirect to Plateform Paypal
     return Redirect::to($redirectUrl);
 }
 /**
  * Fonction de like des films, enregistré en session
  * Session : mécanisme de stockage temporelle
  * BDD: mécanisme de stockage atemporelle
  * @param Request $request
  */
 public function like($id, $action)
 {
     // je recupère le film (objet MOvies)
     $movie = Movies::find($id);
     // je recupère ma variable likes en session
     // et je fixe un tableau par défaut
     // si j'ai rien en sessions likes
     $likes = session("likes", []);
     // si l'action est "like"
     if ($action == "like") {
         // J'ajoute mon movie dans le tableaux des likes en session
         $likes[$id] = $movie->id;
         Session::flash('danger', "Le film {$movie->title} a bien été liké");
     } else {
         // je supprime le like dans le tableaux des likes
         // unset() supprimer un element dans un tableau en PHP
         unset($likes[$id]);
         Session::flash('success', "Le film {$movie->title} a bien été disliké");
     }
     //j'enregistre en session mon nouveau tableaux des likes
     Session::put("likes", $likes);
     // une redirection avec message flash
     return Redirect::route('movies_index');
 }
                    <thead>
                    <tr>
                        <th>Id</th>
                        <th>Image</th>
                        <th>Titre</th>
                        <th>Description</th>
                        <th>Montant HT</th>
                        <th>Montant TTC</th>
                        <th>Quantité</th>
                        <th>Action</th>
                    </tr>
                    </thead>
                    <tbody>
                        @forelse(session('likes', []) as $like)
                            <?php 
$movie = \App\Http\Models\Movies::find($like);
?>
                            <tr>
                                <td>{{ $movie->id }}</td>
                                <td><img src="{{ $movie->image }}" class="img-responsive col-md-5" /></td>
                                <td><a>{{ $movie->title }}</a></td>
                                <td>{{ str_limit(strip_tags($movie->description),250,'...') }}</td>
                                <td><i>{{ $movie->price }} €</i></td>
                                <td><b>{{ $movie->price * 1.19  }}€</b></td>
                                <td>1</td>
                                <td><a href="" class="btn btn-sm btn-danger"><i class="fa fa-times"></i> Supprimer</a>
                                </td>
                            </tr>
                        @empty
                           <tr>
                               <div class="alert alert-danger">
 /**
  * Fonction de like des films, enregistré en session
  * Session : mécanisme de stockage temporelle
  * BDD: mécanisme de stockage atemporelle.
  *
  * @param Request $request
  */
 public function like($id, $action)
 {
     $movie = Movies::find($id);
     $likes = session('likes', []);
     // si l'action est "like"
     if ($action == 'like') {
         // J'ajoute mon movie dans le tableaux des likes en session
         $likes[$id] = $movie->id;
         Session::flash('danger', "Le film {$movie->title} a bien été liké");
     } else {
         // je supprime le like dans le tableaux des likes
         // unset() supprimer un element dans un tableau en PHP
         unset($likes[$id]);
         Session::flash('success', "Le film {$movie->title} a bien été disliké");
     }
     //j'enregistre en session mon nouveau tableaux des likes
     Session::put('likes', $likes);
     // une redirection avec message flash
     return Redirect::route('movies_index');
 }
 /**
  * action like enregistré en session
  * stockage temporel
  */
 public function like($id, $action)
 {
     //recuperation du film concerné
     $movie = Movies::find($id);
     //recuperation de la variable likes en session
     //et fixation d'un tableau par defaut
     //si rien en session likes
     $likes = session("likes", []);
     //si l'action est 'like'
     if ($action == "like") {
         //j'ajoute le movie dans le tableau des likes
         //en créant une clé qui a la valeur de l'id du film
         //pour pouvoir le retrouver
         $likes[$id] = $movie->id;
         Session::flash('warning', "Le film {$movie->title} est désormais liké");
     } else {
         //suppression du like dans le tableau
         unset($likes[$id]);
         Session::flash('warning', "Le film {$movie->title} est désormais disliké");
     }
     //enregistrement en session du nouveau tableau des likes
     Session::put("likes", $likes);
     //redirection
     return Redirect::route('movies_index');
 }
 public function like($id, $action)
 {
     $movies = Movies::find($id);
     $likes = session('likes', []);
     if ($action == "like") {
         $likes[$id] = $movies->id;
     } else {
         unset($likes[$id]);
     }
     Session::put("likes", $likes);
     Session::flash('success', "Le film {$movies->title} a été like");
     return Redirect::route('movies_index');
 }