Tengo dos método en el modelo Partidas:
el primero Busca la partida más pequeña (es el que falla):
Los campos de partidas son id,user_id,nivele_id,created,modified,finalizado, y está relacionado con el modelo Nivele:
Código:
'Nivele' => array( 'className' => 'Nivele', 'foreignKey' => 'nivele_id', 'conditions' => '', 'fields' => '', 'order' => ''
Código:
El segundo recoge el valor (que le pasa el controlador) con la id de la partida más pequeña (el problema es que le pasa la más grande y no se porque, creo que el error está en la consulta del primer método).function partidaPeqBuscar($juego_id,$numero_nivel) { $partida=$this->find('first', array( 'fields' => array('Partida.id'), 'conditions' => array('Partida.finalizado' => 0,'Nivele.Numero_Nivel' =>$numero_nivel, 'Nivele.juego_id' => 1), 'order' => array('Partida.id ASC') )); var_dump($partida['Partida']['id']); //devolvemos los campos inscripcion y numero_jugadores if (!$partida) return false; return $partida['Partida']['id']; }
Código:
Resumiendo, cuando $partidaPeq debería formar parte de la primera tupla generada en la tabla partidas perteneciente al nivel que le pasamos, es todo lo contrario, ya que me devuelve la más grande (es decir la última en llegar).function finalizarPartida($partidaPeq) { $this->id=$partidaPeq; if (!$this->saveField('finalizado',12) ) return false; return $partidaPeq; }
Otra historia relacionada es que por algún extraño motivo el var_dump me devuelve el número del nivel como string:
string(3) "237"
y no consigo saber porque.
Mil gracias por la ayuda