2012-11-27 58 views
0

我試着測試用戶名是否已經存在。但總是返回「用戶名存在」:推動過濾器不工作?

if (!isset($_POST['usuario'])) { 
    /* Parameters not pass */ 
    exit("{'success': false, 'msg': 'No hay parametros.'}"); 
    } 

    /* Search a user with username == $_POST['usuario'] */ 
    $usuarioCohincidente = UsuariosQuery::create() 
          ->filterByNombreusuario($_POST['usuario']) 
          ->find(); 

    if($usuarioCohincidente->isEmpty()){ 
     /* Username is available */ 
     exit("{'success': false, 'msg':'Usuario inexistente.'}"); 
    }else{ 
     /* Username is not available */ 
     exit("{'success': true, 'msg': 'Usuario existente, por favor, seleccione otro  nombre para el usuario.'}"); 
    } 

任何想法?

+0

我發現錯誤。我沒有通過POST正確發送參數。謝謝。 – ramiromd

+0

findOne()not find() – DarkBee

回答

1

首先你應該嘗試

$usuarioCohincidente = UsuariosQuery::create() ->filterByNombreusuario($_POST['usuario']) ->findOne();

find()導致它不會返回對象,但包含對象數組。

不檢查我的方法isEmpty(),使用if($usuarioCohincidente == null)

總而言之,請包括您的對象的var_dump以確保您做的是正確的事情。