$this->params возвращает ноль в модели CakePHP
Я решил добавить некоторые дополнительные данные о контроллерах и действиях в некоторых моделях перед сохранением следующим образом:
//in the model
public function beforeSave() {
$this->data[$this->alias]['path'] = 'blah blan';
debug($this->params);
die(); //for debugging!
}
Распечатка отладки возвращает ноль! Модель, которую я использую, является моделью комментариев плагина комментариев. Мне нужно получить доступ к параметрам, чтобы получить текущий контроллер, действия и некоторые параметры URL.
В самом деле, я планирую изменить способ, которым плагин комментариев перечисляет комментарии из модели на основе пути, чтобы решить проблему нужных комментариев для более чем одного действия, зависящего от той же модели.
1 ответ
Решение
Наконец-то я нашел решение: оно в Router
метод объекта getParams()
;
//in the model
public function beforeSave() {
$this->data[$this->alias]['path'] = 'blah blan';
debug(Router::getParams());
die(); //for debugging!
}
он печатает что-то вроде:
array(
'plugin' => null,
'controller' => 'qurans',
'action' => 'view',
'named' => array(
'comment' => '0'
),
'pass' => array(
(int) 0 => '8'
)
)