Страница 1 из 1

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

Добавлено: 2014.03.06, 13:12
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.

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

Добавлено: 2014.03.06, 13:27
SiZE
Нашел ответ Sam:
Refresh will produce extra db query that's generally not desired if you don't need data immediately after saving.
Значит это фича.

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

Добавлено: 2014.03.07, 20:22
lancedevnull
в данном примере CDbExpression::__toString отдает без кавычек

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

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