laravel ORM ouvre uniquement plusieurs méthodes de create_at pour résumer des exemples php

jacklove
Libérer: 2023-04-01 22:54:02
original
1531 Les gens l'ont consulté

L'éditeur suivant partagera avec vous un résumé de plusieurs méthodes d'ouverture uniquement de create_at dans laravel ORM. Il a une bonne valeur de référence et j'espère qu'il sera utile à tout le monde. Suivons l'éditeur pour y jeter un œil

Méthode 1 :

class User extends Model {
  public $timestamps = false;//关闭自动维护
  public static function boot() {
    parent::boot();
    #只添加created_at不添加updated_at
    static::creating(function ($model) {
      $model->created_at = $model->freshTimestamp();
      //$model->updated_at = $model->freshTimeStamp();
    });
  }
}
Copier après la connexion

此处有坑:使用create方法创建一条记录时返回值的created的值是这样的: 
“created_at”: { 
“date”: “2017-09-27 13:47:12.000000”, 
“timezone_type”: 3, 
“timezone”: “Asia/Shanghai” 
}, 
并不是想象中的 
“created_at”: “2017-09-27 13:49:39”,
Copier après la connexion

Méthode 2 :

class User extends Model {
  const UPDATED_AT = null;//设置update_at为null
  //const CREATED_AT = null;
}
Copier après la connexion

此处有坑:使用destroy删除会报错 
Missing argument 2 for Illuminate\Database\Eloquent\Model::setAttribute() 
使用delete不影响,wherein也不影响
Copier après la connexion

Méthode 3 :

class User extends Model {
  //重写setUpdatedAt方法
  public function setUpdatedAt($value) {
    // Do nothing.
  }
  //public function setCreatedAt($value)
  //{
    // Do nothing.
  //}
}
Copier après la connexion

Méthode 4 :

class User extends Model {
  //重写setUpdatedAt方法
  public function setUpdatedAtAttribute($value) {
    // Do nothing.
  }
  //public function setCreatedAtAttribute($value)
  //{
    // Do nothing.
  //}
}
Copier après la connexion

ps :

Il peut également être défini dans Migration (je ne l'ai pas essayé spécifiquement, je l'ai vu dans d'autres articles)

class CreatePostsTable extends Migration {
  public function up() {
   Schema::create('posts', function(Blueprint $table) {
   $table->timestamp('created_at')
   ->default(DB::raw('CURRENT_TIMESTAMP'));
  });
}
Copier après la connexion

Ci-dessus Ce résumé de plusieurs façons d'activer uniquement create_at dans laravel ORM est tout le contenu partagé par l'éditeur. J'espère qu'il pourra vous donner une référence, et j'espère que vous soutiendrez le site Web PHP chinois.

Articles qui pourraient vous intéresser :

Méthode d'enregistrement PHP des informations de navigation du visiteur Exemple PHP

Algorithme de courbe de simulation de régression linéaire multiple basé sur les compétences PHP php

Définition de liste doublement chaînée PHP et exemples d'utilisation compétences php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal