Heim  >  Fragen und Antworten  >  Hauptteil

ThinkPHP5 erhält den Zeitstempel und konvertiert ihn automatisch. FEHLER, geben Sie mir bitte einen Rat?

In TP5 habe ich das Modell verwendet, um ein Datenelement abzurufen, es dann auszugeben und einen Fehler zu melden. Ich habe festgestellt, dass TP5 klug genug war, die date()-Methode zum Formatieren zu verwenden Der in meiner Datentabelle festgelegte Wert war vom Typ Zeitstempel und wurde bereits abgerufen. Da es sich um eine formatierte Zeichenfolge handelt, wird ein Fehler gemeldet. .

Später habe ich eine offizielle Methode gesehen: Setzen Sie den datetime_format-Wert auf false, um die automatische Konvertierungsausgabe zu deaktivieren.
Aber ich habe es ohne Erfolg versucht. Können Sie genauer sein?

Controller-Code:

Modellcode:

Datenblatt:

Fehler-Screenshot:

伊谢尔伦伊谢尔伦2665 Tage vor826

Antworte allen(2)Ich werde antworten

  • 世界只因有你

    世界只因有你2017-06-05 11:09:42

    比如这个是你的模型
    namespace app\xxx\model;
    use think\Model as ThinkModel;
    use think\Db;
    
    class XXX extends ThinkModel
    {
        // 设置当前模型对应的完整数据表名称
        protected $table = 'XXXPPP';
    
        // 自动写入时间戳,这个是开关可以关闭
        protected $autoWriteTimestamp = true; 
        
        //这个可以覆盖的吧
        public function getCreteTimeAttr($time)
        {
            return $time;
        }
    }
    不过文档这里有写这个
    $user = User::get(1);
    // 通过获取器获取字段
    echo $user->status;
    // 获取原始字段数据
    echo $user->getData('status');
    // 获取全部原始数据
    dump($user->getData());
    

    Antwort
    0
  • 为情所困

    为情所困2017-06-05 11:09:42

    可以考虑在433行后面添加

    $time = strtotime($time)!==false?strtotime($time):$time;

    Antwort
    0
  • StornierenAntwort