我尝试将关联模型的数据接收给当前登录的用户。这是我当前的用户模型:
class User extends AppModel {
public $name = 'User';
public $hasMany = array(
'Website' => array(
'className' => 'Website',
'foreignKey' => 'user_id'
)
);
}
这是与用户模型相关联的网站模型:
class Website extends AppModel {
public $name = 'Website';
public $belongsTo = array(
'User' => array(
'classname' => 'User',
'foreignKey' => 'user_id'
)
);
}
当我尝试获取登录用户的网站时,我不想在数据库请求的条件下以静态方式设置网站的 user_id。所以我尝试使用这些关联:
public function beforeFilter() {
parent::beforeFilter();
$this->Website->User->id = $this->Auth->user('id');
// OR
$this->Website->User->set($this->Auth->user());
}
public function index() {
$this->set('websites', $this->Website->find('all'));
}
但它会返回所有网站,而不是仅返回具有正确 user_id 的网站。
有没有办法按照我建议的方式去做?如果是,我做错了什么?
非常感谢!