[Risolto] Errore In Fase Di Salvataggio Nuovo Record

Ho questo strano errore in fase di salvataggio di un nuovo record nella mia tabella _user

"UserController and its behaviors do not have a method or closure named "parseFormat" "

… di cosa parla ?

mi si scatena solo dopo aver aggiunta la riga che qui vedete prima dell’ if ($model->save()). Se la commento, il record viene salvato, ma con data vuota. ci deve mettere la data di oggi, ovviamente…




if(isset($_POST['User']))

		{

			$model->attributes=$_POST['User'];

			$model->registrationDate = CDateFormatter::format('Y-mm-dd' ,time());

			if($model->save())

				$this->redirect(array('index'));

		}



[s]… uhm … forse ho capito …

Qui c’è il sorgente della CDateFormatter: https://github.com/yiisoft/yii/blob/1.1.12/framework/i18n/CDateFormatter.php#L87

Andate alla riga 100: viene chiamato un metodo che non esiste … o sbaglio ?[/s]

ho detto una stupidata … ci sarà un metodo per prendere time() ed avere una date in formato mysql ??? o devo usare quelle di php ?


<?php 

date ('Y-m-d', time());

?>

ehm… si… effettivamente. … non so perchè, ma mi aspettavo l’esistenza di un CHtml::DateNow() o qualcosa di simile, era giusto per sapere, perchè nelle API non l’ho trovata…

Usa CDbExpression che serve non fare mettere gli apici sul valore:


  $model->registrationDate = new CDbExpression('NOW()');

Mysql ha la funzione now, se invece devi fare dei range di tempo di suggersco di usare le date in php, come dice la HP: quando e’ cosi’ facile, perche’ no?

ecco, così … ottimo