-2

我有一个问题要这样做:

 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?

谢谢

4

1 回答 1

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),并且不能仅动态使用未声明的对象。仅静态的,并且仅因为用户方法允许您这样做。

即使在运行时附加这种非无状态绑定而不是为非登录用户和其他不需要的用户这样做会更干净。

于 2013-07-04T13:20:45.403 回答