Inicio > Recursos > Desarrollo Web > Laravel > Eliminar columnas de fechas created_at y updated_at en laravel
Eliminar columnas de fechas created_at y updated_at en laravel
- Laravel
- 11 julio 2018
Si alguna vez habéis trabajado con Laravel sabéis que este incluye su propio sistema de ORM (Object-Relational Mapping) llamado Eloquent, el cual nos proporciona una manera elegante y fácil de trabajar con la base de datos.
Cuando creamos un modelo en Laravel:
namespace App; use Illuminate\Database\Eloquent\Model; class Usuarios extends Model { //... }
o usamos la linea de comandos
php artisan make:model Usuarios
Por defecto, Eloquent asume que todas las tablas contienen los campos updated_at y created_at. Estos campos se actualizarán automáticamente cuando se cree un nuevo registro o se modifique.
Pero…., ¿Y si no queremos que estos datos estén en nuestra tabla?
Bien para eliminar las dos columnas y que no nos de errores las inserciones o las actualizaciones usando esos modelos. Basta con añadir la siguiente línea a nuestro modelo.
public $timestamps = false;
Aquí os pongo el modelo completo
namespace App; use Illuminate\Database\Eloquent\Model; class Usuarios extends Model { protected $table = 'tbl_usuario'; public $timestamps = false; }
Hasta aquí, todo correcto pero y si queremos tener sólo la columna de created_at y eliminar la fecha de actualización.
La solución pasa por poner a Null esta fecha…, podéis verlo en el código
namespace App; use Illuminate\Database\Eloquent\Model; class Usuarios extends Model { const UPDATED_AT = null; protected $table = 'tbl_usuario'; }
Con esto eliminaríamos de nuestra tabla la columna y podríamos generar nuevos usuarios ya actualizarlos sin problema.
Saludos a todos