Usando o Active Record do CodeIgniter

Quando comecei a utilizar o CodeIgniter não gostava muito do Active Record, preferia fazer minhas queries na mão mesmo, mas com o passar do tempo, passei a perceber a vantagem de se utilizar o Active Record.

Vou deixar um exemplo abaixo de um método get que eu uso em meus projetos

public function get($options = array()) {
        if (isset($options['select'])) {
            $this->db->select($options['select']);
        }
        if (isset($options['codigo_usuario'])) {
            $this->db->where('codigo_usuario', $options['codigo_usuario']);
        }
        if (isset($options['email'])) {
            $this->db->where('email', $options['email']);
        }
        if (isset($options['limit'])) {
            $this->db->limit($options['limit'][0], $options['limit'][1]);
        }
        if (isset($options['order_by'])) {
            $this->db->order_by($options['order_by']);
        }
        if (isset($options['group_by'])) {
            $this->db->group_by($options['group_by']);
        }
        if (isset($options['array'])) {

            return $this->db->get('usuario')->result_array();
        }

        return $this->db->get('usuario')->result();
    }

Este é apenas um exemplo do poder do Active Record, a facilidade para fazer diferentes tipos de “where” em meu código, setar um order by, um group_by
um limit, claro eu poderia fazer tudo isso com o query também, porém com muito mais código etc. Com o Active Record eu não preciso escapar campo por campo, pois o mesmo já faz isso para min.

E para atualizar, excluir e inserir dados no banco ? O Active Record é perfeito! Você pode inserir um objeto/array que seja igual a sua tabela com uma linha de código, ao invéz de fazer aquela query gigante de insert ou update!

$objUsuario = new stdClass();
$objUsuario->nome = 'William Rufino';
$objUsuario->email = 'contato@williamrufino.com.br';
$this->db->insert('usuario', $objUsuario);

Um update é muito simples também!

$objUsuario = new stdClass();
$objUsuario->codigo_usuario = 123;
$objUsuario->nome = 'William Rufino';
$objUsuario->email = 'contato@williamrufino.com.br';
$this->db->where('codigo_usuario',$objUsuario->codigo_usuario);
$this->db->update('usuario', $objUsuario);

Viram como é fácil utilizar o Active Record do CodeIgniter?

E para finalizar, deixo o link do user guide do Active Record que é seu melhor amigo na hora de fazer consultas.

1 Comentários

  1. jose soaressays:

    Parabens Amigo Pelo Post! Ando procurando melhores praticas de programacao e realmente dessa forma que expos ajuda bastante na organizacao do codigo. Eu, apos isso, ate comecei a ver alguma coisa de codeigniter. Do sua function get acima eu so nao consegui faze-lo entender uma array para o parametro select
    if (isset($options[‘select’])) {
    $this->db->select($options[‘select’]);
    }
    $options[‘select’] -> acho que obviamente um array de campos do tipo : array (‘id’, ‘nome’ .. ).
    so que o codeigniter rejeitou – Message: Invalid argument supplied for foreach().
    pode me ajudar com isso.
    Agradecimentos

Deixe um comentário

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