所以,我有这段代码:
class ProductsController extends AppController {
var $name = 'Products';
var $paginate = array('limit' => 5); // sets the number of entries per page
function index() {
$this->Product->recursive = 0;
// works up to here fine
$this->set('products', $this->paginate()); // makes the browser hangs
}
}
当我去../products/index
浏览器只是一种挂起。它尝试加载几分钟而不给出任何错误消息,我被迫重新启动 Apache (XAMPP) 或等待 60 秒。问题似乎$this->paginate()
与产品控制器的所有关联有关。它有 2 个 belongsTo(属于较小的表)和 1 个 hasOne(有一个大表,20K+ 行)。
我hasOne
在产品模型中添加了一个关系,这似乎是导致挂起的原因。当我删除这种关系时,URL 会起作用并显示所有项目。但是,hasOne
当我这样做时,这种关系不会导致任何错误,例如../products/view/1
.
关于如何使其易于管理的任何想法?