2008-12-18 11 views
5

Tôi đang tạo một ứng dụng Q & Một ứng dụng trong CakePHP và tôi muốn loại trừ các liên kết của mình trong một số trường hợp. Hãy tưởng tượng những điều sau đây:Làm cách nào để loại trừ bản ghi khỏi mô hình được liên kết trong CakePHP?

Tôi liệt kê tất cả các câu hỏi trên trang đầu tiên bằng $ this-> Question-> findAll() ;. Vì tôi có liên kết sau trong mô hình của tôi:

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

Tất cả câu trả lời sẽ được chọn ở trang bắt đầu, không tối ưu. Làm thế nào tôi có thể làm để loại trừ các câu trả lời trong phương pháp cụ thể này?

Cảm ơn

Trả lời

5

tôi xem nhanh các CakePHP API cho thấy rằng bạn đã có một phương pháp unbindModel trên Model. Vì vậy, trong bạn ví dụ bạn có thể làm điều này:

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

Ngoài ra, bạn có thể sử dụng các hành vi Containable để chỉ chọn các mảnh từ MySQL mà bạn yêu cầu cho xem trang hiện tại.