【发布时间】:2018-10-05 19:13:45
【问题描述】:
对此感到非常困惑;只需使用标准烘焙模板来 CRUD 访问我的模型。我正在从一个更旧版本的 cake 中迁移这个项目,但是到目前为止,我只是使用库存烘焙的控制器和模板。
/**
* Index method
*
* @return \Cake\Http\Response|void
*/
public function index() {
$this->paginate = [
'contain' => ['Associated1', 'Associated2', 'AssociatedEtc']
];
$myModels = $this->paginate($this->MyModel); // returns zero results
$myModels_found = $this->MyModel->find('all'); // finds everything
$this->set(compact('model'));
}
CookBook 信息描述了以与最初烘焙控制器完全不同的方式实现 Paginator(并且尝试了那里描述的实现,得到了完全相同的结果)。
重要的是,就像在$myModel_found 中一样,如果我只是通过$model->find() 检索记录,一切都会照常返回,因此连接到数据层没有问题。
如何配置 Paginator 以便它实际检索我的记录?
更新
经过一番深入研究,我发现分页器只为具有非关联关联的模型返回零结果(即表 Model1 中的一行,对于 model2_id 等具有 0 或空值) t 返回。即使我删除了contain 条件,这种行为仍然存在。
【问题讨论】:
-
请展示您的关联。您对他们使用哪种策略?我的意思是,如果你使用连接(对于 hasMany)并使用 INNER,你会得到预期的结果。
标签: cakephp cakephp-3.0