[Yii 1] Cancellare I Record Più Vecchi Di Tot Giorni

Spedizioni




public function scopes()

	{

		return array (

			"notShipped" => array (

				'condition' => "stato != 'CONSEGNATA'",

			),

			'orderFromOldest' => array (

				'order' => 'bolla ASC',

			),

			'tooOld' => array (

				'condition' => 'data_spedizione < DATE_ADD( now( ) , INTERVAL -5 DAY ) ',

			),

		);

	}



Stavo cercando di usare lo scope in questo modo




Spedizioni::model()

            ->tooOld()

            ->delete();



ma semplicemente non cancella nulla. e i record piu vecchi di 5 giorni sono il 95%.

che stupidata sto facendo ?

Ho risolto così




Spedizioni::model()->deleteAll( Spedizioni::model()->tooOld()->getDbCriteria() );






Spedizioni::model()

            ->tooOld()

            ->deleteAll();



Cosi non va?.. dovrebbe andare. (con delete() no, ma con deleteAll() si)

con deleteAll cancella semplicemente tutto. ignorando la condition.

Sto usando la 1.1.14, non una versione vecchia di Yii.

Ora non ho tempo per spulciare il codice di yii, ma anche io credevo (sin dalla 1.1.7) che questo problema non ci fosse