CakePHP3.6:Paginator返回零结果,尽管find()功能正常

CakePHP3.6:Paginator返回零结果,尽管find()功能正常,cakephp,cakephp-3.0,Cakephp,Cakephp 3.0,被这搞得头晕目眩;仅使用标准烘焙模板对我的模型进行CRUD访问。我正在从一个更旧版本的cake迁移这个项目,但同样,到目前为止,我只使用stock baked控制器和模板 /** * Index method * * @return \Cake\Http\Response|void */ public function index() { $this->paginate = [ 'co

被这搞得头晕目眩;仅使用标准烘焙模板对我的模型进行CRUD访问。我正在从一个更旧版本的cake迁移这个项目,但同样,到目前为止,我只使用stock baked控制器和模板

/**
      * 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'));
     }
这些信息描述了以一种与最初烘焙控制器完全不同的方式实现Paginator(并且,尝试了这里描述的实现后,得到了完全相同的结果)

重要的是,正如在
$myModel\u found
中一样,如果我只是通过
$model->find()
检索记录,一切都会像往常一样返回,因此连接到数据层没有问题

如何配置Paginator,使其实际检索我的记录

更新


经过进一步的研究,我发现Paginator对于没有关联的模型只返回零结果(即,
Model1
表中的一行对于
model2\u id
等具有0或null。即使我删除
contain
条件,这种行为仍然存在。

**直到有时以前,甚至我在相同的情况下也被卡住了。在我的控制器中,我有:

** /**

我犯的错误在我的视图文件中:

<div class="form-group">
            <label class="col-md-3 control-label">Customer</label>
            <div class="col-md-4">
                <?= $this->Form->control('customer_id',array('class'=>'form-control input-circle', 'options'=>$customers, 'label'=>false)) ?>
            </div>
        </div>

顾客
在我的例子中,“customer_id”的拼写错误,因此结果没有显示在视图表中。但现在,它工作正常

请检查相关列名称的所有拼写。


如果我在任何地方弄错了,请不要介意。我是CakePHP 3的学习者。

请展示你的关联。你对他们使用哪种策略?我的意思是如果你使用连接(对于hasMany)并且使用INNER,您可以得到预期的结果。感谢您的努力,但这并没有解决我的问题;视图和控制器都是由cake烘焙的,没有输入错误。
<div class="form-group">
            <label class="col-md-3 control-label">Customer</label>
            <div class="col-md-4">
                <?= $this->Form->control('customer_id',array('class'=>'form-control input-circle', 'options'=>$customers, 'label'=>false)) ?>
            </div>
        </div>