2011-01-06 3 views
0

테이블에 일부 열을 추가 한 후에 모델에서 새 열을 찾을 수 없지만 기존 열을 찾을 수 있습니다.테이블에 일부 열을 추가 한 후 ORM은 Kohana3에서 reload()를 실행하지 않으면 찾을 수 없습니다.

예를 들어, user 테이블에 point 열을 추가하고 name 열이 있다고 가정합니다.

$foo = ORM::factory('user',1); 
$foo->name; // it's ok 
$foo->point; // would throw exception:The :property property does not exist in the :class class 
$foo->reload(); 
$foo->point; // would work 

새 열을 가져 오기 전에 reload()를 추가하면 알 수 있습니다. 그러나 나는 이것이 이것이 올바른 방법이라고 생각하지 않습니다. 그리고 전에 스키마를 변경했는데 아무런 문제가 없었습니다. 영구적 인 솔루션을 찾고 ..

+1

1. 모델에 이전 열 목록이있는 $ _column_cache 속성이 있습니다. 2. 첫 번째 모델 인스턴스가 세션에서로드 되었습니까? 어쨌든 모델을 덤프하고 $ _object 속성을 분석 할 수 있습니다. – biakaveron

+0

지금은 아무런 변화없이 작동했습니다. 캐시 같은 것 같아요. 어쨌든 나는 더 이상 이것을 귀찮게하고 싶지 않다 .. – kinopyo

답변

0

이 문제를 해결하는 방법을 알아 냈습니다. 디렉토리의 모든 파일을 삭제하십시오. cache/.kohana/, 즉 kohana가 데이터베이스 스키마의 캐시를 유지하는 곳입니다.