다음 튜토리얼 칼럼인 thinkphp에서는 ThinkORM 최신 버전의 시간 필드 조정 내용을 소개하겠습니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!
최신 버전의 6.0 프레임워크로 업그레이드한 후 많은 사용자가 시간 필드의 원래 값을 얻을 수 없었습니다. 이는 think-orm 라이브러리의 최신 조정 때문입니다.
최신 ThinkORM에서는 필드 유형 및 시간 필드의 자동 처리가 더 이상 getter의 범위에 포함되지 않습니다. 대신 데이터가 검색될 때마다 이를 수행할 필요가 없도록 결과가 쿼리되는 즉시 처리됩니다. 향후 추가 검사 및 처리가 필요합니다. getter가 더 이상 포함되지 않으므로 유형 변환이 설정된 필드 및 자동 시간 처리 필드를 포함하여 이러한 필드의 원래 값을 얻을 수 없습니다.
시간 필드 자동 처리는 시간 필드(사용자 정의 필드 이름을 지원하는 create_time 및 update_time 포함)의 자동 쓰기 및 자동 출력 변환을 구현하기 위해 프레임워크에서 제공하는 기능입니다.
시간 필드의 원래 값을 가져와야 하는 경우 자동 시간 필드 처리 기능을 꺼야 합니다. 즉, autoWriteTimestamp 속성을 false로 설정한 다음 시간 필드 getter를 사용자 정의하여 시간 필드를 처리하고 나면 자동 시간 필드를 끄는 것을 기억하십시오. 시간 필드의 데이터 쓰기는 수동으로 작성해야 합니다.
시간 필드를 자동으로 작성하고 처리하고 싶지만 출력 형식을 자동으로 지정하고 싶지 않은 경우 dateFormat 속성을 false로 설정할 수 있습니다. 데이터베이스 구성 파일에 설정되어 있는 경우 다음과 같이 설정해야 합니다.
// 自动写入时间戳字段 // true为自动识别类型 false关闭 // 字符串则明确指定时间字段类型 支持 int timestamp datetime date 'auto_timestamp' => true, // 时间字段取出后的默认时间格式 'datetime_format' => false,
think-orm 최신 버전으로 업그레이드하여 위의 문제는 해결되었으나, getOrigin 메소드 대신 getOrigin 메소드를 사용하는 것이 가장 좋다는 점 참고하시기 바랍니다. 원본 데이터를 얻기 위해 getData 메서드를 사용합니다. 정의된 컨테이너 메서드에서 원본 시간 필드 데이터를 읽으려면 $data['create_time' 대신 $this->origin['create_time']을 사용해야 합니다. '] 또는 $this->data['create_time'].
관련 추천: 최신 10개 thinkphp 비디오 튜토리얼
위 내용은 최신 버전 ThinkORM의 시간 필드 조정에 대해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!