Maison  >  Article  >  développement back-end  >  laravel ORM ouvre uniquement plusieurs méthodes de create_at pour résumer des exemples php

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

jacklove
jackloveoriginal
2018-06-28 17:47:391525parcourir

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();
    });
  }
}

此处有坑:使用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”,

Méthode 2 :

class User extends Model {
  const UPDATED_AT = null;//设置update_at为null
  //const CREATED_AT = null;
}

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

Méthode 3 :

class User extends Model {
  //重写setUpdatedAt方法
  public function setUpdatedAt($value) {
    // Do nothing.
  }
  //public function setCreatedAt($value)
  //{
    // Do nothing.
  //}
}

Méthode 4 :

class User extends Model {
  //重写setUpdatedAt方法
  public function setUpdatedAtAttribute($value) {
    // Do nothing.
  }
  //public function setCreatedAtAttribute($value)
  //{
    // Do nothing.
  //}
}

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'));
  });
}

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!

Déclaration:
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