$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'
    )
)
Другие вопросы по тегам