Yii Framework Forum: Relaciones MANY_MANY - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Relaciones MANY_MANY Rate Topic: -----

#1 User is offline   nye.cat 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 5
  • Joined: 09-June 11

Posted 24 August 2011 - 12:47 PM

Hola,

Estoy intentando recuperar información adicional mediante una relación MANY_MANY en un AR pero no tengo claro como hacerlo. Os explico lo que tengo:

Hay una tabla event y una user. Para definir que usuarios asistirán a tal evento tengo la tabla event_user en la que guardo el código de evento y el de usuario para relacionarlos. Pero en esta tabla, aparte de los id de event y user para la relación, hay un campo extra 'estado' que no interfiere en la relación, es solo información adicional. La idea es que los usuarios solicitan asistir a un evento, y esta solicitud se puede aprobar, rechazar, etc.

Entonces, en el modelo Event tengo la siguiente relación:

public function relations(){
  return array(
    'asistentes' => array(self::MANY_MANY, 'User', 'event_user(event_id, user_id)'),
  );
}


y con esto al cargar un evento, tengo los usuarios que va a asistir al evento: $event->asistentes
Lo que no tengo ni idea es como conseguir para cada uno de los asistentes el campo 'estado' correspondiente de la tabla event_user.

Lo que seria interesante es que con $event->asistentes pueda ver los datos de cada asistente (esto ya lo hago) y que además pudiera saber en que estado esta su asistencia (por ejemplo: No se ha aceptado su solicitud de asistir, no ha pagado la entrada, ha venido, etc)

Espero que me puedan ayudar

¡Gracias!
0

#2 User is offline   santist 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 3
  • Joined: 02-September 11

Posted 02 September 2011 - 08:36 PM

Hola,

Una forma sería que crearas un modelo EventUser y definieras una relación entre éste y User (sería del tipo HAS_MANY a través de la clave foránea user_id). Luego, podrías implementar un método en User que aceptara como parámetro la clave primaria de un Event y que devolviera el estado de ese evento en particular buscando entre los EventUser asociados.

Un saludo,

s.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users