2008-12-18 10 views
5

Estoy creando una aplicación Q & A en CakePHP, y quiero excluir mis asociaciones en algunos casos. Imagine lo siguiente:¿Cómo excluyo registros de un modelo asociado en CakePHP?

Estoy enumerando todas las preguntas en la primera página con $ this-> Question-> findAll() ;. Ya que tengo la siguiente asociación en mi modelo:

public $hasMany = array('Answer' => 
     array('className' => 'Answer', 
      'order' => 'Answer.created DESC', 
      'foreignKey' => 'post_id', 
      'dependent' => true, 
      'exclusive' => false, 
     ) 
    ); 

Todas las respuestas serán ser seleccionado en la página de inicio, que no es óptimo. ¿Cómo podría hacer para excluir las respuestas en este método en particular?

Gracias

Respuesta

5

I rápido vistazo a la CakePHP API revela que usted tiene un método unbindModel en el modelo. Así en ti ejemplo, usted puede hacer esto:

$this->Question->unBindModel(array('hasMany' => array(’Answer’))) 

Como alternativa, puede utilizar el comportamiento Containable seleccionar solamente las piezas de MySQL que se requieren para la visualización de la página actual.

Cuestiones relacionadas