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_ata todas nuestras tablas, ya que tenemos una clase de registro que ya hace todo esto con más profundidad para nosotros.
Soy consciente de que puedo configurar $timestamps = false;:
Vendor\laravel\framework\src\illuminate\Datebase\Eloquent\Model.php
Sin embargo, prefiero no cambiar un archivo central para Laravel, o que todos mis modelos tengan eso en la parte superior. ¿Hay alguna forma de desactivar esto en otro lugar para todos los modelos?

Simplemente coloque esta línea en su modelo :
public $timestamps = false;¡Y eso es!
Ejemplo:
Para deshabilitar las marcas de tiempo para una operación (por ejemplo, en un controlador):
Para deshabilitar las marcas de tiempo de todos sus modelos , cree un nuevo
BaseModelarchivo:Luego extienda cada uno de sus Modelos con
BaseModel, de esta manera:fuente
Si solo necesita deshabilitar la actualización updated_at simplemente agregue este método a su modelo.
Esto anulará el método primario setUpdatedAtAttribute (). created_at funcionará como siempre. De la misma manera, puede escribir un método para deshabilitar la actualización created_at solamente.
fuente
Si está utilizando 5.5.x:
Y para el campo 'created_at', puede usar:
Asegúrate de estar en la versión más nueva. (Esto se rompió en Laravel 5.5.0 y se corrigió nuevamente en 5.5.5).
fuente
Modelo elocuente:
O simplemente prueba esto
fuente
En caso de que desee eliminar las marcas de tiempo del modelo existente, como se mencionó anteriormente, colóquelo en su Modelo:
También cree una migración con el siguiente código en el
up()método y ejecútelo:Puede usar
$table->timestamps()sudown()método para permitir el retroceso.fuente
simplemente declare la
publicvariable de marcas de tiempo en suModeltofalsey todo funcionará muy bien.public $timestamps = false;fuente
Agregue esta línea a su modelo:
fuente
Anular las funciones
setUpdatedAt()ygetUpdatedAtColumn()en su modelofuente
Puede deshabilitar temporalmente las marcas de tiempo
fuente