CakePHP:使用会话的用户ID过滤Index()

时间:2011-07-11 15:56:36

标签: php cakephp filter

我有一个小的cakePHP应用程序,允许用户登录并提供会话以在指定的项目上显示其状态。

我正在替换add()函数的烘焙视图部分,该部分询问哪个用户在控制器中使用以下代码行创建新的状态报告:

$this->data['Status']['user_id'] = $this->Auth->user('id');

我想在index()函数中做类似的事情,这样用户也可以只看到他们以前的状态报告,而不是任何其他用户。

我如何尝试过滤index()函数?

function index() {
    $this->Status->recursive = 0;
    $this->set('statuses', $this->paginate());
}

2 个答案:

答案 0 :(得分:3)

只需在paginate变量中设置条件:

function index() {
    $this->paginate = array(
        'recursive' => 0,
        'conditions' => array('Status.user_id' => $this->Auth->user('id')),
    );
    $this->set('statuses', $this->paginate('Status'));
}

答案 1 :(得分:0)

您需要查看设置custom pagination queries。 cakePHP书(链接)是一个很好的资源。