Exemplo de model e MY_Model do CodeIgniter

Hoje vou apenas deixar um exemplo de model, de um projeto meu.
vou deixar a minha MY_Model e o Model em si.
MY_Model

<?php

class MY_Model extends CI_Model {

    public function __construct() {
        parent::__construct();
    }

    protected function required($options = array()) {
        foreach ($options as $option) {
            if (!isset($this->{$option}))
                return false;
        }
        return true;
    }

}
<?php

class Opicionais_Model extends MY_Model {

    public $codigo_opicionais;
    public $nome;
    public $data_hora_inclusao;

    public function __construct() {
        parent::__construct();
    }

    public function get($options = array()) {
        if (isset($options['codigo_opicionais'])) {
            $this->db->where('codigo_opicionais', $options['codigo_opicionais']);
        }
        if (isset($options['nome'])) {
            $this->db->where('nome', $options['nome']);
        }
        if (isset($options['limit'])) {
            $this->db->limit($option['limit'][0], $option['limit'][1]);
        }
        if (isset($options['order_by'])) {
            $this->db->order_by($option['order_by']);
        }
        if (isset($options['array'])) {
            return$this->db->get('opicionais')->result_array();
        }
        return $this->db->get('opicionais')->result();
    }

    public function salvar() {
        $options = array(
            'nome',
        );
        $this->data_hora_inclusao = date('Y-m-d h:m:s');
        if ($this->required($options)) {
            if (!isset($this->codigo_opicionais)) {
                return $this->db->insert('opicionais', $this);
            } else {
                $this->db->where('codigo_opicionais', $this->codigo_opicionais);
                return $this->db->update('opicionais', $this);
            }
        } else {
            return false;
        }
    }

    public function count() {
        return $this->db->count_all('opicionais');
    }

    public function deletar($codigo_opicionais = '') {
        if (isset($this->codigo_opicionais)) {
            $this->db->where('codigo_opicionais', $this->codigo_opicionais);
            return $this->db->delete('opicionais');
        } else if (isset($codigo_opicionais)) {
            $this->db->where('codigo_opicionais', $codigo_opicionais);
            return $this->db->delete('opicionais');
        } else {
            return false;
        }
    }

}

Qualquer dúvida em relação ao funcionamento do model, pode deixar nos comentários! 🙂

1 Comentários

  1. Olá WIlliam fiz um post parecido com a My Model que eu utilizo nos mues projetos depois dê uma olhada http://www.victorferraz.com.br/?p=122

Deixe um comentário

Por favor, seja educado. Seu e-mail não será publicado e os campos obrigatórios estão marcados.