Foros del Web » Programando para Internet » PHP » CodeIgniter »

Error con modelos en codeigniter

Estas en el tema de Error con modelos en codeigniter en el foro de CodeIgniter en Foros del Web. hola! soy nueva en trabajar con codeigniter y me sale un error al momento de cargar un modelo, veran mi codigo esta asi: Controlador: Código: ...
  #1 (permalink)  
Antiguo 24/10/2008, 09:51
 
Fecha de Ingreso: abril-2008
Mensajes: 21
Antigüedad: 16 años
Puntos: 0
Exclamación Error con modelos en codeigniter

hola! soy nueva en trabajar con codeigniter y me sale un error al momento de cargar un modelo, veran mi codigo esta asi:

Controlador:
Código:
class Pedidosoficina extends Controller
 {
 	function _constructor()
 	{
 		parent::Controller();
 		$this->uicomponents->checkSession();
 		$this->load->model('compras oficina/pedidoficina_model','model');
 	}
 	 function index()
 	 {
		$data['listamateriales']=$this->model->getmateriales();
		$this->load->view('comprasoficina/pedidoficina_main',$data);
 	 }
 	      
 }
y mi modelo es este

Código:
class Pedidoficina_Model extends Model
{
	function _construct()
	{
		parent::Model();
	}
	
	function getmateriales()
	{
			   
  $sql = "SELECT materiales.idmaterial,CONCAT(materiales.nombre,' (',materiales.codigo,')') AS nombre 
					FROM materiales,controlmaterial,centrocostos
					WHERE controlmaterial.idmaterial = materiales.idmaterial
					AND  controlmaterial.idcentrocosto = centrocostos.idcentrocosto					
					AND  centrocostos.idcentrocosto = 14
					ORDER BY materiales.nombre";

		$hResultSet = $this->db->query($sql);
		if($hResultSet->num_rows() > 0) {
			return $hResultSet->result_array();
		} else {
			return array();
		}
	}
}
al momento de jalar la vista me manda este error

Message: Undefined property: Pedidosoficina::$model

Filename: compras oficina/pedidosoficina.php

Line Number: 14

estoy hecha pelotas por que no veo que cargo mal .. ojala y puedan ayudarme
Gracias
  #2 (permalink)  
Antiguo 24/10/2008, 18:59
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 5 meses
Puntos: 890
Respuesta: Error con modelos en codeigniter

No entiendo bien lo que quieres hacer, pero veo varios errores, como este
$this->load->model('compras oficina/pedidoficina_model','model'); <<< hay espacios
segundo trata de ser mas ordenada con los nombres, si hay algo que empieza en mayusculas, mantenelo asi.

Saludos
  #3 (permalink)  
Antiguo 02/03/2009, 14:03
Avatar de Vlade9  
Fecha de Ingreso: marzo-2009
Mensajes: 7
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Error con modelos en codeigniter

Por favor me haría mucha falta que aclararan la duda de ella, es que yo tengo el mismo problema y tengo la cabeza hechando humo tratando de resolverlo y no lo logro.
Se los agradecería mucho si me dijeran qué es lo que hay que poner en el controlador o en el modelo para que interaccionen sin problema alguno.
  #4 (permalink)  
Antiguo 02/03/2009, 15:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error con modelos en codeigniter

_constructor ??
_construct ?

que no debe ser con doble guión bajo ¿??

__construct




demás, que hace el segundo parámetro de ->load->model ¿??

Edito: según la guía, el segundo argumento sobre escribe el nombre del método a usar... de modo que usar 'model' esta completamente errado, no mas!



PDTA: no olviden que hay un guía oficial de CI

http://codeigniter.com/user_guide
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 02/03/2009, 16:41
 
Fecha de Ingreso: abril-2008
Mensajes: 21
Antigüedad: 16 años
Puntos: 0
Respuesta: Error con modelos en codeigniter

Hola como alguien lo comento anteriormente, mi error fue en la siguiente linea
function _constructor()

La cual debe de ser con doble guion bajo function __construct().

el segundo parametro de $this->load->model('archivo_modelo','model') solo es una instancia al objeto que yo lo llame model, pero puede ser de cualquier manera, para que en vez de hacer esto:

$this->archivo_modelo->funcion_de_mi_modelo()

se pueda hacer esto:

$this->model->funcion_de_mi_modelo()

en cuanto a las mayusculas, use el criterio de los archivos de los controladores, donde el nombre debe iniciar forzosamente en mayuscula, asi que de eso no hay problema

Agradezco a los que respondieron, fueron de gran ayuda !!
  #6 (permalink)  
Antiguo 02/03/2009, 20:59
Avatar de Vlade9  
Fecha de Ingreso: marzo-2009
Mensajes: 7
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Error con modelos en codeigniter

Me continúa el error, disculpen pero es que Bueno les voy a poner el metodo en el controlador y luego el codigo del modelo.

Esto es en el Modelo que cree:

Cita:
<?php
class Modelo_usuario extends Model {


function Modelo_usuario()
{
parent::Model();

}
public function index()
{
echo "Hello World";
}
public function insertar_usuario($datos)
{

$result = $this->db->insert('Usuario',$datos);
if ($result)
{
return $this->db->insert_id();
}
else
{
return false;
}
}


}

?>




Y esto es el método como hago en el controlador donde trato de cargar el modelo:

Cita:
public function cogerdatos()
{

$datos['usuario'] = $this->input->post('usuario');
$datos['password'] = $this->input->post('password');
$datos['num_solapin'] = $this->input->post('num_solapin');
$datos['Auto_PK_Column'] = 8;

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


$result = $this->Modelo_usuario->insertar_usuario($datos);
echo $this->result;
exit;

}
Por favor si alguien ve en qué me equivoqué, díganme se los voy a agradecer mucho.
Estoy desesperado. Y el error que me sale en la página es este:

A PHP Error was encountered
Severity: Notice

Message: Undefined property: Maite_ejemplo::$Modelo_usuario

Filename: libraries/Loader.php

Line Number: 185
  #7 (permalink)  
Antiguo 04/03/2009, 12:38
 
Fecha de Ingreso: mayo-2008
Mensajes: 23
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Error con modelos en codeigniter

Hola VLADE9

por que no pruebas cambiando en el controlador cuando cargas el modelo :
"$this->load->model('Modelo_usuario');"
a:

"$this->load->model('Modelo_usuario','',TRUE);"

ya que cuando cargas el modelo no cargas la base de datos de manera automatica.
De todos modos revisa en la guia la parte de modelos

Saludos
Cristian M. Q.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:00.