>  기사  >  백엔드 개발  >  laravel ORM에서 Created_at을 여는 단계 요약

laravel ORM에서 Created_at을 여는 단계 요약

php中世界最好的语言
php中世界最好的语言원래의
2018-05-19 11:56:583163검색

이번에는 laravel ORM에서 Created_at을 여는 단계를 요약해서 알려드리겠습니다. laravel ORM에서 Created_at을 여는 주의 사항은 무엇입니까? 다음은 실제 사례입니다.

방법 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”,

방법 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也不影响

방법 3:

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

방법 4 :

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

ps:

Migration에서도 설정할 수 있습니다. (구체적으로 시도한 것은 아니며 다른 기사에서 본 것입니다.)

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

이 기사의 사례를 읽은 후 방법을 마스터했다고 믿습니다. 더 흥미로운 정보를 보려면 주목하세요. 기타 관련 기사는 PHP 중국어 웹사이트에 있습니다!

추천 도서:

PHP에서 foreach를 사용하여 배열을 변환하는 단계에 대한 자세한 설명

PHP에서 큰따옴표로 배열 요소에 액세스할 때 오류를 처리하는 방법

위 내용은 laravel ORM에서 Created_at을 여는 단계 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.