PAulo como vc no model usou o $this pra tentar iserir era provável que
desse erro mesmo, pois o seu model herda da classe Model do CI que tem
várias coisas dentro dela (experimento dar um print_r que vc verá).

 Seria mais fácil que vc no seu modelo do livro criasse um atributo (por
exemplo insert) e nesse $this->insert vc aramazenasse um array com os dados
da sua tabela tipo $this->insert['titulo'], ou se vc antes de inserir
recebesse os seus atributos e armazenasse num array para ser inseriro, ou
entao criar uma classe Value Object que armazenaria seus atributos sendo
assim vc poderia inserir um objeto dela diretamente.

Em 24/01/08, Cleyverson Costa <[EMAIL PROTECTED]> escreveu:
>
> Eu faço um pouco diferente.
>
> No Model eu nao declaro nenhuma varavel, tudo é passad como parametro
> direto para a função do model.
>
> No controller eu custumo iniciar meus models, helpers tudo no __construct.
>
> Outra coisa que é opção, nos models eu gosto de escrever o SQL, e não usar
> os metodos providos pelo CI. Mas isso é opção.
>
> Abraços.
>
> Em 24/01/08, Paulo Balzi <[EMAIL PROTECTED]> escreveu:
> >
> > Galera, voltando o assunto, mas agora vamos pra prática no CI.
> >
> > Vou explicar o exemplo e do jeito q eu achei q tinha q ser implementado.
> >
> > Tabela: Livro
> >
> >    - id
> >    - titulo
> >    - assunto
> >
> > Criando o Model para a tabela Livro
> >
> > class Livro extends Model {
> >      public $id, $titulo, $assunto;
> >      function __construct() {
> >           parent::model();
> >           $this->id = $this->input->post(id);
> >           $this->titulo = $this->input->post(titulo);
> >           $this->assunto = $this->input->post(assunto);
> >      }
> >      public function insert() {
> >           $this->db->insert('livro', $this);
> >      }
> > }  //fim Model
> >
> > Criando o Controller, considerando q eu uso o método index para fazer a
> > inserção
> >
> > class ControleLivro extends Controller {
> >      function __construct() {
> >           parent::construct();
> >      }
> >      function index() {
> >           ...
> >           if ($this->validation->run() = FALSE) {
> >                 $this->load->view("pagina");
> >           } else {
> >                  $this->load->model(Usuario);
> >                  $this->Usuario->insert();
> >           }
> >      }
> > }
> >
> > bom, ele executa corretamente, o problema é que, quando eu passo o this
> > como parametro para fazer a inserção, ele traz outros atributos de outras
> > classes, causando um erro no comando.
> >
> > Eu entendi a teoria q o pessoal tentou passar nessa discussão, mas na
> > prática eu não, consegui sair da origem, a estrutura do CI me trouxe dúvidas
> > em relação a criação de objetos.
> > Bom é isso, fico no aguardo.
> > Valeu mais uma vez aí.
> >
> >
> > Paulo Balzi
> > _______________________________________________
> > Lista mailing list
> > [email protected]
> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> >
> >
>
>
> --
> Cleyverson Pereira Costa
> Especialista em Análise de Testes - CIn/UFPE
> Bacharel em Ciência da Computação - FAESA
> Tel.: (81) 8785-1289
> _______________________________________________
> Lista mailing list
> [email protected]
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
>
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

Responder a