cakephp:如何在模型中读取Auth

时间:2013-07-04 13:15:27

标签: cakephp authentication model

我有一个问题:

 public $hasOne = array(
    'Friend' => array(
        'className'    => 'Friend',
        'conditions'   => array('Friend.friend_id' => $this->Auth->user('id))
    )
);

我有一个错误:

致命错误 错误:语法错误,意外T_VARIABLE 文件:/Users/guillaumebaduel/Sites/app/Model/User.php 行:98

有什么问题? 如何在模型中获取ID?

由于

1 个答案:

答案 0 :(得分:0)

在构造函数中:

public function __construct($id = false, $table = null, $ds = null) {
    parent::__construct($id, $table, $ds);

    $this->hasOne = array(
        'Friend' => array(
            'className'    => 'Friend',
            'conditions'   => array('Friend.friend_id' => AuthComponent::user('id))
        )
    );
}

请注意,您需要在此处使用模型构造函数(基本OOP),并且您不能仅动态使用非声明对象。仅静态,并且仅因为用户方法允许您这样做。

尽管在运行时附加这样的非无状态绑定会更加清晰,而不是为非登录用户和其他不需要它的人做这样做。