2014-02-25 14 views
0

여러 명의 사용자가 같은 사용자 이름으로 동시에 입력하는 것을 방지하려면 어떻게합니까? 예 : 사용자 이름이 나를 사용하고 다른 사용자가 내 사용자 이름을 입력하려고하면 "사용자 이름이 이미 사용 중입니다"와 같은 오류가 표시됩니다. 이미 DB를 사용하고있는 유저 네임을 DB에 저장하려고했습니다. 그러나 로그 오프하지 않고 계정을 종료하는 것은 현재 문제가되고 있습니다.여러 명의 사용자가 같은 사용자 이름으로 동시에 입력하지 못하도록 막으시겠습니까? 심포니 1.4

답변

0

내가 양식의 "구성"함수 내에서, 이런 짓을 할 것이다 :

$this->validatorSchema->setPostValidator(new sfValidatorDoctrineUnique(
              array('model' => 'sfGuardUser', 'column' => array('username')), 
              array('invalid' => 'Username already in use')) 
             ); 

을 난 당신이 sfGuard 플러그인을 사용하고 있는지 여기에 있으리라 믿고있어, 다른 사람이 모델을 수정해야합니다. @Kevin이 말했듯이, 열은 고유해야합니다.