<?php

namespace Models;

use Bases\Model;

class Menu extends Model
{
    protected $table = "menus";

    /**
     * Retourne tout le menu 
     *
     * @return array|false
     */
    public function toutMenu()
    {
        $sql = "SELECT * FROM $this->table";

        $requete = $this->pdo()->prepare($sql);

        $requete->execute();

        return $requete->fetchAll();
    }

    /**
     * Ajoute un nouveau plat
     *  
     * @param int $categorie_id
     * @param string $nom
     * @param string $description
     * @param float $prix                 
     * @param string $image                  
     * @return bool
     */
    public function ajouter($categorie_id, $nom, $description, $prix, $image )        
    {
        // Créer la requête
        $sql = "INSERT INTO $this->table (categorie_id, nom, description, prix, image) VALUE (:categorie_id, :nom, :description, :prix, :image) ";

        // Préparer la requête
        $requete = $this->pdo()->prepare($sql);

        // Exécuter la requête (associer valeur au placeholder)
        return $requete->execute([
            ":categorie_id" => $categorie_id,
            ":nom" => $nom,
            ":description" => $description,
            ":prix" => $prix,
            ":image" => $image
        ]);       
    }
     
    /**
     * Met à jour un plat existant selon l'id
     *
     * @param int $id
     * @param string $nom
     * @param int $categorie_id         
     * @param string $description       
     * @param float $prix                
     * @param string $image               
     * @return bool
     */
    public function modifier($id, $nom, $description, $prix, $image, $categorie_id,)
    {
        // Créer la requête
        $sql = "UPDATE $this->table SET nom=:nom, description=:description, prix=:prix, image=:image, categorie_id=:categorie_id WHERE id=:id";

        // Préparer la requête
        $requete = $this->pdo()->prepare($sql);

        // Exécuter la requête (associer valeur au placeholder)
        return $requete->execute([
            ":id" => $id,
            ":nom" => $nom,
            ":description" => $description,
            ":prix" => $prix,
            ":image" => $image,
            ":categorie_id" => $categorie_id
        ]);
    }

    /**
     * Supprime un plat 
     *
     * @param int $id
     * @return bool
     */
    public function supprimer($id)
    {
        // Créer la requête
        $sql = "DELETE FROM $this->table WHERE id=:id";

        // Préparer la requête
        $requete = $this->pdo()->prepare($sql);

        // Exécuter la requête (associer valeur au placeholder
        return $requete->execute([
            ":id" => $id
        ]);
    }
}