Vấn đề với kết quả mong muốn của bạn là, Cake đó sẽ không trả lại cho bạn một mảng kết quả bị loại bỏ nếu bạn sử dụng các điều kiện trên các mô hình liên quan của mình.
Điều này xảy ra vì Cake sẽ chỉ sử dụng các điều kiện này trên mô hình liên quan của bạn và trả lại cho bạn kết quả với các điều kiện đúng trên các mô hình liên quan của bạn.
Nếu bạn muốn lấy lại các sản phẩm chỉ có Danh mục cụ thể, bạn cần truy vấn thông qua Danh mục-Mô hình vì điều này cho phép bạn sử dụng các điều kiện trên Sản phẩm của mình. Nó có thể trông giống như thế này:
$this->Category->find('all', array('conditions' => array('Category.id' => 2));
Điều này sẽ chỉ trả lại cho bạn Danh mục mong muốn và các Sản phẩm liên quan. Tuy nhiên, điều này không thỏa mãn lắm nếu bạn muốn có một danh sách, vì bạn sẽ phải thực hiện chuyển đổi theo cách thủ công.
Tôi muốn xem xét Plugin có thể liên kết điều này sẽ cung cấp cho bạn chính xác chức năng mong muốn của bạn vì nó mở rộng Cake trong việc sử dụng các phép nối như bạn đã làm trong truy vấn của mình. Điều này giúp bạn có thể nhận được kết quả với các điều kiện trên các mô hình liên quan của bạn.