2008-12-18 28 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.

Các vấn đề liên quan