Hola Pascal, estoy intentando filtrar un valor pero me da el siguiente error:
[2016-06-16 23:41:12] CORE - E_WARNING - Declaration of app\model\tjugadorDAO::setFilterCriteria($id) should be compatible with DAO::setFilterCriteria() - C:\xampp\htdocs\club\applications\default\app\model\tjugadordao.php(32)
el modelo:
class tjugadorDAO extends \DAO {
protected function initDaoProperties() {
$this->table = "usuarios";
$this->IdColumnName = "id_usuario";
$this->query = "select usuarios.*, posicion.nombre_posicion , posicion_1.nombre_posicion as nombre_posicion_1, posicion_2.nombre_posicion as nombre_posicion_2 from usuarios ";
$this->query .= "left join posiciones as posicion using (id_posicion) ";
$this->query .= "left join posiciones as posicion_1 on usuarios.id_posicion_1 = posicion_1.id_posicion ";
$this->query .= "left join posiciones as posicion_2 on usuarios.id_posicion_2 = posicion_2.id_posicion ";
// $this->filterClause = "where usuarios.Tut_Use_id_usuario2 like ? or usuarios.Tut_Use_id_usuario1 like ? ";
}
public function setFilterCriteria($id){ // aqui le paso el parámetro con entero
$this->filterClause = "where usuarios.Tut_Use_id_usuario2 like ? or usuarios.Tut_Use_id_usuario1 like ? ";
$this->setFilterCriteria($id);
}
}
el controlador
static protected function action_lister() {
/* $request = new \Request();*/
$filtrouserDAO = new \app\model\filtrouserDAO();
$filtrouserDAO->setUserIDAsFilter(\UserSession::getLoginName());
$jugadores = array();
$user_id= $filtrouserDAO->getResult(); //filtro por login name
$filtro = $user_id['user_id']; // recojo el id del usuario conectado
$valor = (int)$filtro; //lo paso a integer
$jugadorid = new tjugadorDAO();
$jugadorid->setFilterCriteria($valor); //aqui llama a la función declarada en el modelo y crea un bucle infinito
while ($row = $jugadorid->getResult()) {
$jugadores[] = $row;
}
/* Réponse retournée au contrôleur principal */
$response = new \Response();
$response->rows = $jugadores;
$response->success = true;
return $response;
Saludos