Если вы вызываете сохранения из контроллера, вы можете просто включить данные сеанса в данные, которые вы назначаете своей модели перед сохранением:
$data['ModelName']['session_id'] = $this->Session->id;
$this->ModelName->save($data);
Или вы можете создать переменную в вашей моделии сохраните там идентификатор для последующего использования:
<?php
//in model
class MyModel extends AppModel{
public $session_id;
}
//in controller
$this->MyModel->session_id = $this->Session->id;
?>
Если вам необходимо использовать компонент в вашей модели, возможно, вы сможете загрузить его.Я не уверен, что это будет работать, хотя.Это не очень хорошая практика, и вам, вероятно, следует подумать о том, чтобы сделать это по-другому.
<?php
App::uses('CakeSession', 'Model/Datasource');
class MyModel extends AppModel{
public function beforeSave(){
$this->data['session_id'] = $this->Session->id;
return true;
}
}
?>