Deshabilitar las marcas de tiempo Eloquent de Laravel

Estoy en el proceso de convertir una de nuestras aplicaciones web de CodeIgniter a Laravel. Sin embargo, en este momento no queremos agregar los campos updated_at / created_at a todas nuestras tablas, ya que tenemos una clase de registro que hace todo esto con más profundidad para nosotros.

Soy consciente de que puedo establecer $timestamps = false; en:

 Vendor\laravel\framework\src\illuminate\Datebase\Eloquent\Model.php 

Sin embargo, prefiero no cambiar un archivo principal para Laravel, o hacer que todos mis modelos tengan eso en la parte superior. ¿Hay alguna forma de desactivar esto en otro lugar para todos los modelos?

Solutions Collecting From Web of "Deshabilitar las marcas de tiempo Eloquent de Laravel"

O bien debe declarar public $timestamps = false; en cada modelo, o cree un BaseModel, defínalo allí y haga que todos sus modelos lo extiendan en lugar de eloquent. Apenas tener en cuenta las tablas dinámicas DEBEN tener marcas de tiempo si estás usando Eloquent.

Actualización: Tenga en cuenta que las marcas de tiempo ya no son NECESARIAS en las tablas dinámicas después de Laravel v3.

Actualización: también puede desactivar las marcas de tiempo eliminando $table->timestamps() de su migración.

Simplemente coloque public $timestamps = false; en tu modelo.

Si solo necesita desactivar la actualización actualizada, simplemente agregue este método a su modelo.

 public function setUpdatedAtAttribute($value) { // to Disable updated_at } 

Esto anulará el método padre setUpdatedAtAttribute (). created_at funcionará como de costumbre. De la misma forma que puede escribir un método para deshabilitar la actualización created_at solamente.

setUpdatedAt() las funciones setUpdatedAt() y getUpdatedAtColumn() en su modelo

 public function setUpdatedAt($value) { //Do-nothing } public function getUpdatedAtColumn() { //Do-nothing } 

Modelo eloquent:

 class User extends Model { protected $table = 'users'; public $timestamps = false; } 

O simplemente prueba esto

 $users = new Users(); $users->timestamps = false; $users->name = 'John Doe'; $users->email = 'johndoe@example.com'; $users->save();