0

我有一个 cakephp2 应用程序,用户根据他们在数据库上的凭据登录。身份验证和授权工作正常。

我有一个笔记表,其中存储了用户的笔记。每个用户可以有很多笔记。

在一个页面上,我需要提取登录用户的所有笔记。

我创建了一个笔记模型:

class Note extends AppModel {

public $name = 'Note';

public $belongsTo = 'User';

}

在我的用户模型中,我有:

class User extends AppModel {
public $name = 'User';
public $displayField = 'name';
public $hasMany = 'Note';....

在我创建的用户控制器中:

public function getnotes($id = null) {
$this->User->id = $id;
}

但无论我运行什么 find 语句,我都不能只获取特定用户的注释。我运行 debug($id) 并在屏幕上显示为 false,因此显然当前用户 ID 未被识别。

我必须列出用户的所有笔记,然后链接到每个单独的笔记页面。

4

1 回答 1

0

在 cakePHP 中集成一个 AUTH 组件 ...这样您将通过 auth 函数和数组($this->Auth->user('id')) 登录用户 ID/信息

对于身份验证集成,请使用以下链接作为参考 http://book.cakephp.org/2.0/en/tutorials-and-examples/blog-auth-example/auth.html

现在像这样使用这个用户 ID 来查找记录

$this->Note->find('all',array('conditions'=>array('Note.user_id'=>$this->Auth->user('id')))

于 2012-09-24T13:21:58.047 回答