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

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

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

Сообщение SiZE » 2014.03.06, 13:12

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

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

$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
Сообщения: 2485
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

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

Сообщение SiZE » 2014.03.06, 13:27

Нашел ответ 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 » 2014.03.07, 20:22

в данном примере CDbExpression::__toString отдает без кавычек

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

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

Сообщение SiZE » 2014.03.08, 10:20

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

Ответить