2012-05-15 2 views
0

매우 이상한 문제가 있습니다. 난 전혀 미친 아무것도 양식에서 CakePHP의 표준 절약을하고있는 중이 야 :CakePHP 필드가 업데이트되지 않습니다.

그러나
$this->Ride->read(null,$id); 
$ride = $this->Ride->data; 

$this->Ride->set(array(
       'assigned' => 2, 
       'pickup_driver_id' => $driver['UserDriver']['id'] 
      )); 

$this->Ride->save() 

, 할당 된 필드를 제외하고 매번 모든 필드 업데이트. DB에 tinyint (2)가 할당되었습니다. 유효성을 검사하지 않으려 고 노력했습니다 ... 등. 어떤 제안이라도 좋습니다! 미리 감사드립니다.

답변

0

모델 정의를 다시 한 번 확인하여 재미있는 일이 있는지 확인해 보시기 바랍니다. 유효성 검사를 끄는 것이 나의 첫 번째 제안이 될 것입니다. 그러나 당신은 당신이 그것을 다루었다고 말하면서 그것에 대해 아무 말도하지 않을 것입니다.

또한 $ this-> Ride-> save() 메소드의 반환 값을 확인하면 true 여야합니다. 그렇지 않은 경우 다음과 같은 오류가 있는지 확인하십시오.

if(!$this->Ride->save()){ 
    debug($this->Ride->validationErrors); die(); 
} 
+0

답장을 보내 주셔서 감사합니다. 예, 유효성 검사 오류를 시도했습니다. 이상한 부분은 $ this-> Ride-> save()가 성공적으로 성공하면 데이터베이스에 할당 된 것을 제외하고 모든 필드가 업데이트됩니다. pickup_driver_id는 사실 새 값이며 설정된 다른 필드는 모두 할당 된 것 외입니다. – Michael

+1

CakePHP는 tinyint (1)을 가상 부울로 처리하고 해당 필드에 0 또는 1 만 저장합니다. 나는 그것을 tinyint (2)로 바꾸었지만 app/tmp/models 캐시를 지우지 않았으므로 내가 바꿀 때까지 여전히 작동하지 않았다. 여기에서 찾았습니다 : http://www.devarticles.in/cakephp/field-type-tinyint1-would-not-save-values-other-than-0-and-1-in-cakephp/ – Michael

관련 문제