Daniel,

 

O que pretendes fazer não dá. Não é assim que o CI trabalha. Sugiro que não
coloque parâmetros no construtor do modelo. O exemplo dado no post pode ser
desta forma:

 

No controller

$this->load->model('usuario');

$this->usuário->set_valor('nome', $nome);

$this->usuario->imprimeDados();

 

E no model

class Usuario extends Model

{

 

    var $nome;

 

    function usuario()

    {

        parent::Model();

    }

 

    function set_valor($campo, $valor)

    {

        $this->$campo = $valor;

    }

 

    function imprimeDados()

    {

        printf('Nome: %s<br />', $this->nome);

    }

 

}

 

Entendeu mais ou menos?

Alias, recomendo que dê uma lida neste link:
http://codeigniter.com/user_guide/libraries/loader.html

 

De: [email protected]
[mailto:[email protected]] Em nome de Daniel Nascimento
Enviada em: terça-feira, 5 de maio de 2009 21:20
Para: CodeIgniter Brasil
Assunto: Re: [CodeIgniter] Dúvida com $this->load->model no controller

 

Roberto, obrigado pela resposta.

Na verdade ajudou e complicou um pouco ao mesmo tempo... hehehe.

Não entendi o que você quis dizer quando escreveu isso:
$user = new Usuario($nome,$email,$sexo,$login,$senha); // na documentação do
CI ele ensina como fazer, se tu quer inserir um usuário depois de carregar o
usuariomodel tu poderia fazer o seguinte:
$this->usuariomodel->nome = $nome;
$this->usuariomodel->email = $email;
$this->usuariomodel->sexo = $sexo;
$this->usuariomodel->login = $login;
$this->usuariomodel->senha= $senha;
imprimeDados($this->usuariomodel);

No meu caso eu tenho uma classe Usuário e quero chamar seu construtor para
instanciar um objeto, pelo que eu entendi no que você escreveu eu não
conseguirei chamá-lo e sim devo setar os parâmetros um a um.

Não existe uma forma de eu executar o construtor da classe Usuario passando
os parâmetros para ele?

Ahh!! O imprimeDados é só um método de teste que eu criei que iria imprimir
todos os dados do objeto da classe usuário.

Abraços.

2009/5/5 Roberto Almeida Longhi <[email protected]>

Daniel,

Tudo bom ?
Verifiquei o código, e segue alguns comentarios.

Daniel Nascimento escreveu:

Boa Tarde a todos.

Sou novo aqui na lista e estou começando agora a mexer com o Code Igniter.
Estou fazendo uma aplicação para estudo aqui e surgiu uma dúvida.

Fiz o seguinte controller:

class Usuario extends Controller {

   public function Usuario(){
       parent::Controller();
   }

   public function novo(){
       $nome = 'Daniel Nascimento';

       $email = '[email protected] <mailto:[email protected]>';


       $sexo = 'M';
       $login = 'dnascimento';
       $senha = 'teste123';

       /* Carregando o Model de Usuarios */


       $this->load->model('usuario/usuario'); *// isso quer dizer que tu tem
uma pasta usuario dentro da pasta model e dentro da pasta usuario tu tem o
arquivo usuario.php. O CI recomenda algo parecido com a linha abaixo.*

*        $this->load->model('usuariomodel');*

*E dentro deste model tu aciona o metodo que precisa. e acessa as
propriedades.
*

       $user = new Usuario($nome,$email,$sexo,$login,$senha); *// na
documentação do CI ele ensina como fazer, se tu quer inserir um usuário
deveria fazer o seguinte*

*Depois de carregar o usuariomodel tu poderia fazer o seguinte:
$this->usuariomodel->nome = $nome;
**$this->usuariomodel->email = $*email*;
**$this->usuariomodel->sexo = $*sexo*;
**$this->usuariomodel->login = $*login*;
**$this->usuariomodel->senha= $*senha*;
**imprimeDados(**$this->usuariomodel**);

Alias, o que tu quer dizer com imprime dados ?
Se for exibir somente, pode chamar uma view ... que é o aconselhavel ...

Ajudei ou piorei sua situação ?
=]

[]'s
*

       $user->imprimeDados();
   }
}

Tenho um model de usuarios dentro da pasta model/usuario/usuario.php. Fiz o
load do model através do comando /$this->load->model('usuario/usuario');/
A minha dúvida é: Como faço para instanciar um objeto da classe Usuario
através do controller, tentei fazê-lo da seguinte forma porém não consegui.
       $user = new Usuario($nome,$email,$sexo,$login,$senha);
       $user->imprimeDados();

Alguma sugestão?

Abraços.

-- 
*Daniel Barbosa do Nascimento Filho*
/SQA - Analista de Qualidade
VirtualRox - Soluções Digitais

http://www.virtualrox.com/
------------------------------------------------------------------------

_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
 


-- 
Roberto Almeida Longhi
Programador
Contmatic
(11) 2942 6700 Ramal 1404
(11) 8599 9022
www.contmatic.com.br


_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br




-- 
Daniel Barbosa do Nascimento Filho
SQA - Analista de Qualidade
VirtualRox - Soluções Digitais
http://www.virtualrox.com

_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

Responder a