条件分页cakephp

我尝试过

public function index($id = null)
{
    $this->paginate = [
        'contain' => ['Photos'],];
   // $tareas = $this->paginate($this->Tareas);

    $this->loadmodel('Categorias');

    if(isset($id)){
        $tareas2 = $this->Tareas->find()->where(['categoria_id'=>$id])->all();
        $tareas = $this->paginate($tareas2);
    }
    else
    {
        $tareas = $this->paginate($this->Tareas);
    }

        $categorias = $this->Categorias->find()->all();



    $this->set(compact('tareas','categorias'));
}

在不传递ID时有效,但是在传递ID时出现此错误

调用未定义的方法Cake \ ORM \ ResultSet :: getalias()

ysw9232 回答:条件分页cakephp

分页器仅接受表名称,表实例(\Cake\Datasource\RepositoryInterface)和查询实例(\Cake\Datasource\QueryInterface)。

请勿在查询对象上调用all(),这将执行查询并返回结果集,即\Cake\ORM\ResultSet的实例,而是传递查询对象。

另请参见

,

好的,我为此解决了

public function index($id = null)
{
    if(isset($id)){
        $this->paginate = [
            'contain' => ['Photos'],'conditions' => ['categoria_id'=>$id]
        ];
    }
    else{
        $this->paginate = [
            'contain' => ['Photos'],];
    }
    $tareas = $this->paginate($this->Tareas);

    $this->loadModel('Categorias');

    $categorias = $this->Categorias->find()->all();


    $this->set(compact('tareas','categorias'));
}
本文链接:https://www.f2er.com/2633083.html

大家都在问