Anomalia Nel Salvataggio Di Dati Nel Db

Buon giorno a tutti,

mi sta succedendo una strana nel salvataggio di dati du DB.

in pratica se utilizzo la sintassi




$test = new MioModello(); // ho provato anche senza le parentesi ma è uguale

$test->email = "pippo@pippo";

$test->save();



non mi salva nulla.

Se, invece, utilizzo la sintassi esplicita




$sql= "INSERT INTO tbl_miomodello (email) VALUES('pippo@pippo')";	

Yii::app()->db->createCommand($sql)->execute();



funziona tutto perfettamente. Come mai?

save() provoca la validazione dei dati, che evidentemente non va a buon fine, difatti è buona norma fare prima il validate e verificare se è ok

Eccoti una forma quick and dirty di debug:




$esit = $model->save();

if (!$esit) {

   CVarDumper::dump ($model->getErrors(), 10, true);

}



Nessuna anomalia: il codice corretto dovrebbe essere




if($model->validate()) {

    $model->save();

}



Se crei, per esercizio, un normale crud, vedi subito come possono essere composti i form ed il salvataggio dei dati.