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