Я пытаюсь использовать существующие данные модели внутри функции обратного вызова модели в CakePHP 2.1, но не могу заставить ее работать. Что я делаю, так это пытаюсь получить роль пользователя в обратном вызове beforeValidate() и проверить, пуста ли она. Если да, то поставлю. Обычно я делаю это так, и для первого создания записи это работает довольно хорошо.
if (empty($this->data[$this->alias]['role']))
$this->data[$this->alias]['role'] = 'user';
Проблема в том, что каждый раз, когда существующая запись (пользователь) обновляется, роль будет устанавливаться снова.
Вопрос: Итак, как мне проверить, установлено ли уже поле role
в данных записи, а не в данных сообщения (кажется, что $this->data[$this->alias]
содержит только данные POST)?