/** * Selecciona los partidos en juego y ejecuta sus turnos correspondientes. * * @route JugadorNum12/scripts/ejecutarturno * @return void */ public function actionEjecutarTurno() { Yii::import('application.components.Partido'); $tiempo = time(); $primerTurno = Partido::PRIMER_TURNO; $ultimoTurno = Partido::ULTIMO_TURNO; $busqueda = new CDbCriteria(); $busqueda->addCondition(':bTiempo >= hora'); $busqueda->addCondition('turno >= :bPrimerTurno'); $busqueda->addCondition('turno <= :bUltimoTurno'); $busqueda->params = array(':bTiempo' => $tiempo, ':bPrimerTurno' => $primerTurno, ':bUltimoTurno' => $ultimoTurno); $partidos = Partidos::model()->findAll($busqueda); foreach ($partidos as $partido) { $transaction = Yii::app()->db->beginTransaction(); try { $partido = new Partido($partido->id_partido); $partido->jugarse(); $transaction->commit(); } catch (Exception $ex) { $transaction->rollback(); throw $ex; } } }
<?php /**** SCRIPT DE TURNOS DE PARTIDOS ****/ //1.- Seleccionar partidos para los que haya que generar un nuevo turno (activos) //2.- Iterar sobre la lista de partidos resultante //Selecciono partidos con hora mayor que la de la tabla <<Partidos>> y //turnos entre 0 y 10 $tiempo = time(); $primerTurno = Partido::PRIMER_TURNO; $ultimoTurno = Partido::ULTIMO_TURNO; $busqueda = new CDbCriteria(); $busqueda->addCondition("'" . $tiempo . "' >= hora"); $busqueda->addCondition("turno >= '" . $primerTurno . "' "); $busqueda->addCondition("turno <= '" . $ultimoTurno . "' "); $partidos = Partidos::model()->findAll($busqueda); foreach ($partidos as $partido) { $partido = new Partido($partido->id_partido); $partido->jugarse(); } /****/