Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

CakePHP - Llamar función de modelo a controlador diferente

Estas en el tema de CakePHP - Llamar función de modelo a controlador diferente en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola, tengo una funcion en el modelo User y quiero utilizarla en el PostsController pero me tira el siguiente error: Código: Error: Call to a ...
  #1 (permalink)  
Antiguo 04/12/2013, 12:04
Avatar de reborn  
Fecha de Ingreso: febrero-2010
Mensajes: 440
Antigüedad: 14 años, 2 meses
Puntos: 1
CakePHP - Llamar función de modelo a controlador diferente

Hola,

tengo una funcion en el modelo User y quiero utilizarla en el PostsController pero me tira el siguiente error:

Código:
Error: Call to a member function findById() on a non-object
Función en User.php
Código PHP:
    public function permitir($idUserPost){

        
$roleUserPost $this->User->findById($idUserPost, array('role'));
        
        return 
$roleUserPost['User']['role'];        
    } 
Yo llamo a esa funcion en el PostsController de esta forma:
Código PHP:

Controller
::loadModel('User');

            
//id del post
            
$postId $this->request->params['pass'][0];

            
//Busco en post el id del usuario q lo creo
            
$searchIdUserPost $this->Post->findById($postId, array('user_id'));              

            
//User id del post creado
            
$userIdPost $searchIdUserPost['Post']['user_id'];

//funcion tira error
$this->User->permitir($userIdPost); 
Lo q hago es:
1- Obtengo el id del post
2- Con el id del post busco el id del usuario q lo creo
3- Ese id de usuario lo utilizo en la funcion permitir(), dicha funcion se encuentra en el modelo User

Gracias
  #2 (permalink)  
Antiguo 04/12/2013, 13:09
 
Fecha de Ingreso: abril-2013
Mensajes: 61
Antigüedad: 11 años
Puntos: 4
Respuesta: CakePHP - Llamar función de modelo a controlador diferente

Prueba asi:

$User->permitir($userIdPost);



Igual tambien prueba de quitar esto
Controller::loadModel('User');

y poner

$this->Post ->User->permitir($userIdPost);
  #3 (permalink)  
Antiguo 04/12/2013, 14:44
Avatar de reborn  
Fecha de Ingreso: febrero-2010
Mensajes: 440
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: CakePHP - Llamar función de modelo a controlador diferente

Me tiraba ese error porq en el modelo User estaba poniendo:
Código PHP:
$this->User->find.... 
y como ya estoy en el modelo, solo tengo q poner:

Código PHP:
$this->find.... 
Gracias

Etiquetas: cakephp, controlador, diferente, form, modelo, php, post
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 09:22.