Salve a tutti,
come da titolo vorrei poter aggiungere dei dati nel database utilizzando model, questa è la mia situazione, ho un model che ho chiamato Configuration dove permette il salvataggio e il recupero di vari dati nel database, ora ho questa funzione nel model che mi salva i dati in un database:
public static function setValue($key, $value)
{
$conf = self::model()->find(array('condition'=>'`key`=:x', 'params'=>array(':x'=>$key)));
if(is_null($conf)){
$model= new Configuration();
$model->key = $key;
$model->value = $value;
$model->date_add = 'NOW()';
$model->date_update = 'NOW()';
$model->save();
}
}
Dove prima controllo che non esista la key e se mi ritorna null inserisco i nuovi dati.
In questo modo funziona (tranne che per i campi date che poi vedrò in seguito come fare) però vorrei capire perchè mi funziona solo instanzio nuovamente la classe, mentre se faccio in questo modo non mi salva niente:
public static function setValue($key, $value)
{
$conf = self::model()->find(array('condition'=>'`key`=:x', 'params'=>array(':x'=>$key)));
if(is_null($conf)){
$model= self::model();
$model->key = $key;
$model->value = $value;
$model->date_add = 'NOW()';
$model->date_update = 'NOW()';
$model->save();
}
}
Questo codice
$model= self::model();
dovrebbe instanziare automaticamente la classe?
Grazie per qualsiasi chiarimento.