推进过滤器不起作用?

时间:2012-11-27 12:29:40

标签: propel

如果用户名已存在,我正在尝试测试。但总是返回“用户名存在”:

   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.'}");
   }

任何想法?。

1 个答案:

答案 0 :(得分:1)

首先你应该尝试

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

不是find()因为它不会返回对象而是包含对象的数组。

请勿检查我的方法isEmpty(),使用if($usuarioCohincidente == null)

总而言之,请包含您对象的var_dump,以确保您做的正确。