2009-06-16 3 views
4

내 테이블에 새 열을 추가했습니다. 이미 (ID, form_id (외래 키), 유형, 레이블, 크기, 시퀀스 번호, instr)instr이 내가 추가 한 새로운 열인 속성.CakePHP의 쿼리 결과에 새 테이블 열이 나타나지 않는 이유는 무엇입니까?

내 응용 프로그램은 CakePHP와 MySQL에 있습니다.

테이블에 삽입하는 데 다음 코드를 사용했지만 instr 필드를 삽입하지 않았습니다.

function saveFieldname($data)//from untitledfieldname 
{ 
    $this->data['Attribute']['form_id'] = $this->find( 'all', array(
                 'fields' => array('Form.id'), 
                 'order' => 'Form.id DESC' 
                )); 

    $this->data['Attribute']['form_id'] = $this->data['Attribute']['form_id'][0]['Form']['id']; 

    $this->data['Attribute']['label'] = 'Label'; 
    $this->data['Attribute']['size'] ='50'; 
    $this->data['Attribute']['instr'] ='Fill'; 

    $this->data['Attribute']['type'] = $data['Attribute']['type']; 
    $this->data['Attribute']['sequence_no'] = $data['Attribute']['sequence_no']; 

    $this->Attribute->save($this->data); 
} 

저를 제안하십시오 ..

답변

7

테이블의 구조에 대한 정보는 아마 캐시됩니다. "app/tmp/cache/models"의 내용을 제거하고 다시 시도하십시오.

+0

예 이제/cache/Models 폴더의 파일을 제거했습니다. 감사합니다. – useranon

+0

고맙습니다. 벽에 맞서이 벽에 대해 머리를 때리고있었습니다. –

+0

cakephp 2.4.3 @ dohofstet에서이 작업을 수행 할 수있는 곳은 어디입니까? – Leah

0

app/config/core.php의 디버그 수준은 일반적으로 1보다 높게 설정되어 있습니다. 즉, Cake는 캐시하지 않으므로 개발시 문제가 발생하지 않아야합니다. 그러나 프로덕션에서 debug는 core.php에서 0으로 설정되어 케이크가 캐싱을 시작합니다.

덧붙여서, 프로덕션 CakePHP 앱에 지정된 dhofstet으로 app/tmp/cache/models에서 캐시 파일을 제거했지만 찾기 쿼리가 여전히 새 열을 가져 오지 않았습니다.

뿐만 아니라 모델 캐시 파일을 삭제, 내 생산 현장에 2 디버그 수준을 설정하고 페이지 새로 고침이 다시 0으로 설정했고, 그것이 다시 작동했기 때문에 -

. 나는 이것이 추한 접근법이라는 것을 알고 있지만, 다른 방법이 작동하지 않을 때 그것을 고정시켰다.

+0

No .... !!!! 이것은 나를 위해 작동하지 않습니다. – satyawan

관련 문제