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

Cakephp Obtener nombre de usuario a partir de id de otro modelo

Estas en el tema de Obtener nombre de usuario a partir de id de otro modelo en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola, tengo un sistema de mensajeria entre usuarios y quiero crear un index para listar todos los mensajes enviados y recibidos. La cuestion es q ...
  #1 (permalink)  
Antiguo 03/02/2014, 11:50
Avatar de reborn  
Fecha de Ingreso: febrero-2010
Mensajes: 440
Antigüedad: 14 años, 10 meses
Puntos: 1
Obtener nombre de usuario a partir de id de otro modelo

Hola,

tengo un sistema de mensajeria entre usuarios y quiero crear un index para listar todos los mensajes enviados y recibidos.

La cuestion es q quiero listar de la siguiente forma:

Código:
ID Mensaje  -  De  -   Para  -  Fecha
    1        Pepito    Juan    02/02/2014
Pero DE y PARA son datos numericos, entonces me queda asi:
Código:
ID Mensaje  -  De  -   Para  -  Fecha
    1          10       3      02/02/2014
Ahora bien, se me ocurrio usar recursive para q me traiga todos los datos relacionados pero no me trae el PARA, solo el DE.

Como puedo obtener el nombre de usuario de la tabla users a partir del id de q esta en otra tabla?

Gracias
  #2 (permalink)  
Antiguo 04/02/2014, 02:38
 
Fecha de Ingreso: abril-2013
Mensajes: 61
Antigüedad: 11 años, 8 meses
Puntos: 4
Respuesta: Obtener nombre de usuario a partir de id de otro modelo

Sino los trae, es porque o bien, el recursive es bajo, o sino porque no esta relacionado ese campo con la tabla.

Asi que se podria resolver de 2 maneras.

Creo que la mas correcta, seria relacionar las tablas por los 2 campos, dejando el modelo algo similar a esto.

Código PHP:
Ver original
  1. var $belongsTo = array('User' => array('className' => 'User',
  2.                                               'conditions' => '',
  3.                                               'order' => '',
  4.                                               'foreignKey' => 'DE_id'),
  5.                         'Creado' => array('className' => 'User',
  6.                                               'conditions' => '',
  7.                                               'order' => '',
  8.                                               'foreignKey' => 'PARA_id'),
  9.                                                                              
  10.                         );


O la otra opcion, un poco mas fea, seria, traerte el modelo usuario.

Código PHP:
Ver original
  1. App::import('Model', 'User');
  2. $User = new User;
  3. $usuarios = $User->find("list");
  4.  
  5. $nombre1 = $usuarios[$DE_ID];
  6. $nombre2 = $usuarios[$PARA_ID];
  #3 (permalink)  
Antiguo 05/02/2014, 06:23
Avatar de reborn  
Fecha de Ingreso: febrero-2010
Mensajes: 440
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Obtener nombre de usuario a partir de id de otro modelo

Gracias, ya lo pude solucionar.
Hice algo similar a lo q me dijiste, asocie los modelos por separado, UserFrom y UserTo, ya q si usaba solamente User, me tomaba solo un campo

Etiquetas: cakephp, modelo, nombre, tabla, usuario
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 14:23.