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

filtrar de una tabla intermedia

Estas en el tema de filtrar de una tabla intermedia en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenas a todos Estoy trabajando en el primer proyecto cakephp y estoy un poco atrancado este es el event model Código: class Event extends AppModel ...
  #1 (permalink)  
Antiguo 27/02/2016, 10:38
 
Fecha de Ingreso: febrero-2016
Mensajes: 1
Antigüedad: 8 años, 1 mes
Puntos: 0
filtrar de una tabla intermedia

Buenas a todos

Estoy trabajando en el primer proyecto cakephp y estoy un poco atrancado

este es el event model

Código:
class Event extends AppModel {

//relacion con user un evento es creado por un usuario
public $belongsTo = array(
        'User' => array('className' => 'User',
                          'foreingKey' => 'user_id'   
                        )
            );


//relacion n:m con usuarios asisten a muchos eventos
public $hasAndBelongsToMany = array(
        'User' => array(
                'className' => 'User',
                'joinTable' => 'events_users', //lineamuyimportante!! 
                'foreingKey' => 'event_id',
                'associationForeingKey' => 'user_id',
                'finderQuery' => 'SELECT users_users.user_id2 FROM users_users join events on users_users.user_id = events.user_id where events.user_id =  {$__cakeID__$}' 
            )
        );

public $hasMany = array(
        'File' => array('className' => 'File',
                          'foreingKey' => 'event_id',
                          'dependent' => true
                        )
            );
y este es eventcontroller

Código:
class EventsController extends AppController {
public $helpers = array('Paginator');

    public $components = array(
            'DebugKit.Toolbar',
            'Session',
            'Auth' => array(
                'loginRedirect' => array('controller' => 'users', 'action' => 'index'),
                'logoutRedirect' => array('controller' => 'users', 'action' => 'login'),
                'authError' => 'You must be logged in to view this page.',
                'loginError' => 'Invalid Username or Password entered, please try again.',
                'authenticate' => array(
                'Form' => array(
                    'fields' => array(
                      'username' =>  'email', //Default is 'username' in the userModel
                      'password' => 'password'  //Default is 'password' in the userModel
                    )
                )

            )
    ));

    public function beforeFilter() {
        parent::beforeFilter();
        $this->Auth->allow('login','add'); 
    }

    public function listarTodos() {
        $options = array('conditions'=>array('user_id'=>$this->Auth->user('id')));
        $this->set('eventos', $this->Event->find('all', $options));
    }   

     public function listarProximos() {
        $options = array('conditions'=>array('user_id'=>$this->Auth->user('id'),'fecha >=' => date('Y-m-d') ));
        $this->set('eventos', $this->Event->find('all', $options));
    } 



    public function add(){
        if($this->request->is('post')):
        $this->request->data['Event']['user_id'] = $this->Auth->user('id');
            $this->Event->create();
            if($this->Event->save($this->request->data)):
                $this->Session->setFlash('Event guardado');
                $this->redirect(array('controller' => 'users','action' => 'index'));
            endif;
        endif;
        $users = $this->Event->User->find('list', array('conditions' => array('id' => $this->Auth->user('id') )));
        $this->set(compact('users'));  
    }
Explico un poco el tema.
Tengo una bd en la cual hay users, events. entre users y event hay dos relaciones (1:N) creador del evento y una relacion (n:m) entre los asistentes al evento.

tambien hay una relacion n:m entre uses y users para formar los contactos de los usuarios.

lo que necesito es al crear un evento un user X me aparezcan para invitar a los contactos de ese usuario.

hasta el momento solo me salen todos los usuarios :(


saludos y muchas gracias
  #2 (permalink)  
Antiguo 01/03/2016, 10:28
 
Fecha de Ingreso: febrero-2011
Ubicación: Madrid
Mensajes: 62
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: filtrar de una tabla intermedia

Hola,

Dices que de momento solo te salen todos los usuarios, que método es el que hace lo que tu quieres el todos o el proximo?

Tu creas un usuario y quieres que para ese usuario te aparezca el qué?los contactos que debe tener asociados a eventos?

saludos.

Etiquetas: cakephp, php
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 04:18.