나는 사용자 이름 필드, 사용자 이름, 패스워드, 이메일을 가진 mysql 테이블을 가지고있다. 새로운 사용자를 추가하기위한 'user/update'와 같은 컨트롤러/액션이있다. 'user/update/id/user_id} ' 두 제어기 모두에 대해 동일한 Zend_Form이 있습니다. 새로운 사용자를 추가, 나는 사용자 이름이 이미 존재 여부를 확인했습니다 또는 코드 아래 사용하지 : 사용자가 편집 할 때 사용자가 같은 사용자 이름 필드 잎에도,젠드 프레임 워크에서 사용자 정의 유효성 검사 추가하기
$username->addValidator('Db_NoRecordExists', true, array('table' => 'user', 'field' => 'username'));
이 새로운 사용자를 추가 할 때 잘 작동하지만, 그것은, 나는 이미 username 오류가 발생합니다. zend가 필드를 편집하기 위해 Db_NoRecordExists와 유사한 기능을 제공하는지 확인합니다. 수정하는 경우 다음과 같은 검색어를 원합니다.
SELECT COUNT(*) FROM users WHERE username='$username' AND id!=$update_id
어떻게하면됩니까?
$validator = new Zend_Validate_Db_NoRecordExists(
array(
'table' => 'users',
'field' => 'username',
'exclude' => array(
'field' => 'id',
'value' => $user_id
)
)
);