Получение значения CDbExpression после сохранения модели

Уже исправленные репорты или принятые предложения
Ответить
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Получение значения CDbExpression после сохранения модели

Сообщение SiZE »

В контроллере есть такой кусок кода:

Код: Выделить всё

$model = new Model();
$model->user_id = Yii::app()->user->id;
$model->datetime = new CDbExpression("NOW()");
$model->save();
Далее по коду следуют операции с полем $model->datetime, т.к. после save() значение поля остается CDbExpression("NOW()"); то с ниче ничего не получается сделать :( Это бага или фича?

P.S. Случайно запостил в Yii 2, этот вопрос по Yii 1.
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Получение значения CDbExpression после сохранения модели

Сообщение SiZE »

Нашел ответ Sam:
Refresh will produce extra db query that's generally not desired if you don't need data immediately after saving.
Значит это фича.
lancedevnull
Сообщения: 1268
Зарегистрирован: 2013.07.17, 17:37

Re: Получение значения CDbExpression после сохранения модели

Сообщение lancedevnull »

в данном примере CDbExpression::__toString отдает без кавычек
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Получение значения CDbExpression после сохранения модели

Сообщение SiZE »

lancedevnull писал(а):в данном примере CDbExpression::__toString отдает без кавычек
А это то тут причем? :) Мне надо дату в поле получить, а не NOW() оставить. Решается вызовом refresh после save. Фича потому что refresh это лишний запрос нужный в редких случаях.
Ответить