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 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
BaseModel
archivo: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
public
variable de marcas de tiempo en suModel
tofalse
y 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