Ho una colonna della data che di solito assume valori come dd.MM.yyyy
. La sua regola di convalida nel modello di rules()
è questo:Come posso impostare una data su NULL in Yii?
array('start, end', 'date', 'format' => 'dd.MM.yyyy'),
sto popolamento del database da un file CSV, e mi piacerebbe essere in grado di impostare la data di NULL
(cioè niente) se il record CSV è vuoto. Quindi, sto facendo:
if (empty($csv_data)) {
$user->start = new CDbExpression('NULL');
} else {
$user->start = $csv_data;
}
Ma ho un errore che il formato della data non è valido. Perché?
Il CDateValidator
documentation afferma che la proprietà allowEmpty
è true per impostazione predefinita, quindi dovrebbe essere possibile impostarla su NULL
, giusto? Si noti che se si assegna solo la stringa ""
alla data, verrà convertito in un timestamp 0000-00-00 00:00:00
, che non è NULL
.
https://github.com/yiisoft/yii/issues/2056 – dInGd0nG
Non sono un esperto di Yii ma guardando i documenti si potrebbe forse aggirare usando questo metodo per verificare se il valore isnull()? http://www.yiiframework.com/doc/api/1.1/CValidator#except-detail – Jason
@ dInGd0nG Interessante, questo spiega il fallimento, grazie. – slhck