Yii "не определена ошибка" при обновлении свойства модели

Попытка пробраться через Yii здесь, учась на лету. Мы перенесли проект с сервера Unix на сервер Windows и испытываем некоторые трудности с датой и временем.

В настоящее время у меня есть модель "Деятельность" с парой свойств happend_on, happend_at, То, что я хотел бы сделать, это установить эти свойства на время UTC динамически на лету. Однако я продолжаю получать собственность Activity.happend_on, Activity.happend_on не определена ошибка из CActiveRecord.php. Я прочитал несколько мест о переопределении методов set в модели (не сработало) и, на ваш страх, переопределение метода magic _set, также не сработало. Я действительно хочу установить эти свойства на лету.

    $activity = $this->loadModel ( $id );
    $time = $activity->happened_on . " " . $activity->happened_at;
    date_default_timezone_set ( "UTC" );
    $utc_date = DateTime::createFromFormat (
        'm/d/Y H:i:s', gmdate ( "m/d/Y H:i:s", strtotime ( $time ) ), new DateTimeZone ( 'UTC' ));

    $date = $utc_date;
    $date->setTimeZone ( new DateTimeZone ( $time_zone ) );
    // THESE ARE THE LINES THAT FAIL - NEED TO UPDATE THE PROPERTIES.
    $activity->happend_on = $date->format("m/d/Y");
    $activity->happend_at = $date->format("H:i:s");

1 ответ

Решение

Вы написали happend_on а также happend_at ошибочно.

Вы хотели использовать happened_on а также happened_at с дополнительным e,

Это очень просто, если вы внимательно прочитаете сообщение об ошибке, что именно так и говорит:
Атрибуты не могут быть найдены, потому что вы их неправильно написали!

В следующий раз, если вы получите ошибку "Не определено", проверьте атрибуты, указанные в сообщении об ошибке.

Другие вопросы по тегам