1

我想做什么

我想列出具有特定条件的从数据库中提取的数据。

我有什么,它有什么作用

我有一个调用数据的函数。当我print_r输入数据时,它会抛出正确的东西,所以查询直接执行。但是,显示不工作。它显示了数据库中的所有数据。

这是我的功能:

public function myfunction() {
    $adminExtensions = $this->AdminExtension->find('all',
        array(
            'conditions' => array('location_id'=>'3')
        )
    );
    //print_r($adminExtensions);
    $this->set('adminExtensions', $this->paginate());
}

问题是什么

如前所述,问题在于它不只列出带有location_id == 3. 它列出了所有内容。

我已将其缩小到函数的最后一行,但我似乎无法在其中获得正确的代码。

我的显示文件 ( myfunction.ctp) 是一个基本的 cakePHP 索引文件。

我究竟做错了什么?

4

1 回答 1

1

您当前拥有的代码调用了两个不同的find操作。将返回所有a为 3$this->AdminExtension->find()的数组。第二次调用仅返回适合视图中分页的所有可能结果。AdminExtensionslocation_id$this->paginate()

如果要过滤分页结果,则必须$paginate在 Controller 中配置变量或直接在调用$this->paginate.

class PostsController extends AppController {
  public $paginate = array(
    'conditions' => array('location_id'=>'3')
  );
}

$this->paginate这将调整控制器中所有调用的分页。

只为一个分页调用执行此操作:

public function your_view() {
   $this->set('adminExtensions', $this->paginate('AdminExtension', array('location_id' => '3')));
);
于 2013-02-07T09:34:19.533 回答