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

[SOLUCIONADO] Modelo codeigniter

Estas en el tema de Modelo codeigniter en el foro de CodeIgniter en Foros del Web. Buenas tardes mi duda surge al estar utilizando codeigniter lo que hice fue obtener un valor por parametros despues de ahi use explode y lo ...
  #1 (permalink)  
Antiguo 01/04/2014, 19:59
 
Fecha de Ingreso: abril-2014
Mensajes: 3
Antigüedad: 10 años, 1 mes
Puntos: 0
Modelo codeigniter

Buenas tardes mi duda surge al estar utilizando codeigniter lo que hice fue obtener un valor por parametros despues de ahi use explode y lo meti en un foreach para poder recorrerlo, despues llamo al modelo para hacer una comparacion y posteriormente un if, para ver que valor tiene, si es determinado valor, carga la pagina, si no simplemente dice acceso restringido. Aqui va parte del codigo

$js=urldecode($rol);
$jss=explode(",",$js);
foreach($jss as $permiso){
$permiso1=$this->Roles_model->permisoa($permiso);
if($permiso1==1){
$this->load->view('header4',$ata,$probando);

Por si preguntan si pasa el valor, ya vi que si hace la comparacion per no trae el valor de la base de datos aqui esta la parte del modelo

function permisoa($permiso){
$this->db->select('agregar');
$this->db->from('roles');
$this->db->where('rol',$permiso);
return $this->db->get()->result();
}

Si alguien tiene alguna idea.
  #2 (permalink)  
Antiguo 02/04/2014, 01:43
 
Fecha de Ingreso: enero-2006
Ubicación: Pina (Mallorca -Illes Balears-)
Mensajes: 348
Antigüedad: 18 años, 3 meses
Puntos: 28
Respuesta: Modelo codeigniter

En esta línea:

Cita:
if($permiso1==1){
Prueba a poner $permiso1->CampoDeBBDDQueQuierasComparar == 1
__________________
Comprar vino mallorquin
  #3 (permalink)  
Antiguo 02/04/2014, 12:05
 
Fecha de Ingreso: abril-2014
Mensajes: 3
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Modelo codeigniter

Ya lo intente y no funciona, lo mas seguro es que el problema este en el modelo, como estoy trayendo los datos y metiendolos a la variable permiso1, debido a que ya cheque y si compara el valor dentro de la variable al hacer la consulta en el modelo, pero no trae el resultado de la consulta que en este caso deberia tener como valor 1

Acabo de moverle en el modelo y arrojo el siguiente mensaje

Object of class CI_DB_mysql_result could not be converted to int

Si esta realizando la comparacion en la consulta, pero al momento de obtener el valor 1 de la consulta, no lo puede guardar en la variable permiso1, ese es el problema, pero en verdad no se me ocurre que modificarle.

Otra cosa usando el foreach, solamente hace caso a referenciar al campo de la bd, si le pongo el indice del objeto dentro del arreglo, lo cual no tiene caso, porque lo ideal es que traiga los valores obtenidos de la consulta en la bd, para poder hacer su posterior comparacion, asi es como lo cambie

$js=urldecode($rol);
$jss=explode(",",$js);
foreach($jss as $permiso){
$permiso1=$permiso;

$validar=1;
$permiso2=$this->Roles_model->permisoa($permiso1);
foreach($permiso2 as $permiso3){
if($permiso3->agregar==$validar){
$this->load->view('header4',$ata,$probando);
}
}
}

Última edición por marand17; 02/04/2014 a las 15:56
  #4 (permalink)  
Antiguo 03/04/2014, 06:16
 
Fecha de Ingreso: enero-2006
Ubicación: Pina (Mallorca -Illes Balears-)
Mensajes: 348
Antigüedad: 18 años, 3 meses
Puntos: 28
Respuesta: Modelo codeigniter

Sin haberlo probado el error parece claro:

Cita:
$permiso1=$this->Roles_model->permisoa($permiso);
$permiso1 aqui vale: $this->db->get()->result()
por lo tanto, para utilizarlo tienes que poner:

Cita:
if($permiso1->agregar == 1){
en lugar de:

Cita:
if($permiso1==1){

Todo esto se confirma con el error que te devuelve:
Object of class CI_DB_mysql_result could not be converted to int

Intentas comparar un CI_DB_mysql_result con un int.
__________________
Comprar vino mallorquin
  #5 (permalink)  
Antiguo 03/04/2014, 12:08
 
Fecha de Ingreso: abril-2014
Mensajes: 3
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Modelo codeigniter

si ya me di cuenta, si era asi la cuestion ya lo estoy recorriendo y si me arroja el valor, muchisimas gracias por tu ayuda

Etiquetas: modelo
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 06:35.