Inserimento Dati Con Model

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.

Se usi self::model() non ottieni una nuova istanza, ma l’istanza corrente.

Si giusto hai ragione. ::)

Grazie