<?php

namespace Models;

use Bases\Model;

class Categorie extends Model{
    protected $table = "categories";

    /**
     * Retourne toutes les categories
     */
    public function toutCategories(){
        $sql = "SELECT * FROM $this->table";

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

        $requete->execute();

        return $requete->fetchAll();
    }

    public function categorieParNom($nom){
        $sql = "SELECT * FROM $this->table WHERE $this->table.nom = :nom";

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

        $requete->execute([
            ":nom" => $nom
        ]);

        return $requete->fetch();
    }

    /**
     * Insère une nouvelle catégorie
     *
     * @param string $nom
     * @return bool
     */
    public function inserer($nom){
        $sql = "INSERT INTO $this->table (nom) VALUES (:nom)";

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

        return $requete->execute([
            ":nom" => $nom
        ]);
    }

    /**
     * Modifie le nom d'une catégorie selon un id
     *
     * @param int $id
     * @param string $nom
     * @return bool
     */
    public function modifier($id, $nom){
        $sql = "UPDATE $this->table
                SET nom = :nom
                WHERE $this->table.id = :id";
        
        $requete = $this->pdo()->prepare($sql);

        return $requete->execute([
            ":id" => $id,
            ":nom" => $nom
        ]);
    }

    /**
     * Supprimer une catégorie selon un id
     *
     * @param int $id
     * @return bool
     */
    public function supprimer($id){
        $sql = "DELETE FROM $this->table WHERE id = :id";

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

        return $requete->execute([
            ":id" => $id
        ]);
    }
}