유효성 검사 isUnique 규칙이 있지만 아래 방법을 통해 업데이트하려고 할 때 문제가있는 필드가있는 데이터를 저장하려고합니다.Cakephp가 유효성 검사를 통해 데이터 저장 중입니다.
$this->Model->id = 1;
$this->Model->save($this->data);
위 작업을 수행하면 고유 값만 허용된다는 인증 오류가 발생하지만이를 대신 업데이트하려고합니다.
이 문제를 해결할 방법이 있습니까?
유효성 검사 isUnique 규칙이 있지만 아래 방법을 통해 업데이트하려고 할 때 문제가있는 필드가있는 데이터를 저장하려고합니다.Cakephp가 유효성 검사를 통해 데이터 저장 중입니다.
$this->Model->id = 1;
$this->Model->save($this->data);
위 작업을 수행하면 고유 값만 허용된다는 인증 오류가 발생하지만이를 대신 업데이트하려고합니다.
이 문제를 해결할 방법이 있습니까?
나에게 좋아 보인다. Cake는 이와 같이 수동으로 설정할 때 기본 키가 id
인 레코드를 업데이트하려고 시도합니다.
"고유 한"데이터로 테이블에서 검색하십시오. 다른 결과를 찾을 수 있는지 확인하십시오. isUnique
유효성 검사 규칙을 도입하기 전에 사용 중이던 데이터를 복제 할 수 있습니다.
루프 내에서이 업데이트를 수행하고 있습니까?
모델의 on
유효성 검사 규칙을 create
으로 변경하여 업데이트를 트리거하지 못하게 할 수 있습니다. 그러나 나는 그것이 반드시 필요하다는 것을 확신하지 못한다; 게다가 당신은 update
중복 정보가있는 기록을 남기고 그 목적을 물리 칠 수 있습니다!
var $validate = array(
'fieldName1' => array(
'rule' => 'isUnique',
'required' => true,
'allowEmpty' => false,
'on' => 'create', // here
'last' => false,
'message' => 'Your Error Message'
)
);
id를 배열과 함께 전달하면됩니다. 좋아요 :
$this->create();
$data['id'] = $id;
$this->save($data);
데이터 배열에 ID를 전달하면 어떻게됩니까? – mark