Bezüglich der Anpassungen am Zeitfeld in der neuesten Version von ThinkORM

藏色散人
Freigeben: 2021-04-19 09:02:17
nach vorne
2205 Leute haben es durchsucht

Die folgende Tutorial-Kolumne von thinkphp stellt Ihnen die Anpassungen des Zeitfelds in der neuesten Version von ThinkORM vor. Ich hoffe, dass es Freunden in Not hilfreich sein wird!

Bezüglich der Anpassungen am Zeitfeld in der neuesten Version von ThinkORM

Viele Benutzer konnten nach dem Upgrade auf die neueste Version des 6.0-Frameworks nicht den ursprünglichen Wert des Zeitfelds erhalten. Dies ist auf eine aktuelle Anpassung in der Think-Orm-Bibliothek zurückzuführen.

Im neuesten ThinkORM ist die automatische Verarbeitung von Feldtypen und Zeitfeldern nicht mehr im Umfang des Getters enthalten, sondern wird verarbeitet, sobald die Ergebnisse abgefragt werden, um dies nicht jedes Mal tun zu müssen, wenn die Daten abgefragt werden Eine zusätzliche Prüfung und Bearbeitung ist künftig erforderlich. Da der Getter nicht mehr enthalten ist, können die ursprünglichen Werte dieser Felder nicht abgerufen werden, einschließlich Feldern mit Typkonvertierungssatz und Feldern mit automatischer Zeitverarbeitung.

Die automatische Verarbeitung von Zeitfeldern ist eine vom Framework bereitgestellte Funktion zur Implementierung des automatischen Schreibens und der automatischen Ausgabekonvertierung von Zeitfeldern (einschließlich create_time und update_time, die benutzerdefinierte Feldnamen unterstützen).

Wenn Sie den ursprünglichen Wert des Zeitfelds abrufen müssen, müssen Sie die automatische Zeitfeldverarbeitungsfunktion deaktivieren, d. h. das Attribut autoWriteTimestamp auf false setzen und dann den Zeitfeld-Getter anpassen, um die Ausgabe zu übernehmen Denken Sie daran, das automatische Zeitfeld einmal zu deaktivieren. Bei der Verarbeitung müssen die Daten des Zeitfelds manuell geschrieben werden.

Wenn Sie möchten, dass das Zeitfeld automatisch geschrieben und verarbeitet wird, die Ausgabe jedoch nicht automatisch formatiert werden soll, können Sie das dateFormat-Attribut auf false setzen. Wenn es in der Datenbankkonfigurationsdatei festgelegt ist, sollte es wie folgt eingestellt werden:

// 自动写入时间戳字段
// true为自动识别类型 false关闭
// 字符串则明确指定时间字段类型 支持 int timestamp datetime date
'auto_timestamp'  => true,
 
// 时间字段取出后的默认时间格式
'datetime_format' => false,
Nach dem Login kopieren

Durch ein Upgrade auf die neueste Version von think-orm wurde das oben genannte Problem behoben. Bitte beachten Sie jedoch, dass es am besten ist, die Methode getOrigin anstelle von zu verwenden getData-Methode, um die Originaldaten in der definierten Methode abzurufen. Um die ursprünglichen Zeitfelddaten in der Container-Methode zu lesen, sollten Sie $this->origin['create_time'] anstelle von $data['create_time '] oder $this->data['create_time'].

Verwandte Empfehlungen: Die neuesten 10 Thinkphp-Video-Tutorials

Das obige ist der detaillierte Inhalt vonBezüglich der Anpassungen am Zeitfeld in der neuesten Version von ThinkORM. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:thinkphp
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage