Bonjour j'ai le modèle suivant dans code igniter

<?php

class Post extends CI_Model {
    public function __construct(){
        parent::__construct();
        $this->load->database();
    }
    public function get_all(){
        $query = $this->db->get('posts',5);
        return $query->result();
    }

    public function get_where($field, $value){
        $query = $this->db->get_where('posts',array($field=>$value));
        return $query->result();
    }
}

Auriez vous un moyen de réutiliser sans les recopier les function get_where et get_all dans tous les models. Je vois pas trop comment faire ni comment remplacer le 'posts' par une variable par exemple $table sans le passer dans les arguments de la function

Merci d'avance

2 réponses


JacobDelcroix
Réponse acceptée

Tu refais une classe qui va étendre de CI_Model et tu implémentes ces méthodes dans cette nouvelle classe. Ensuite tu étends ta classe Post par cette nouvelle classe. Comme ça tu peux déclarer un attribut $table dans Post. Et dans ta nouvelle classe, tu remplaces 'posts' par $this->table.

Merci beaucoup pour ta réponse rapide , j'avais pas eu l'idée mais c'est exactement ce que je cherchais