Veri tabanıma kaydettiğim verilerin ne zaman kaydedildiiğini veya güncellediğini göstermek istiyorum ama hangi fonksiyonu nasıl kullanmam gerektiğini bilmiyorum yardımcı olabilir misiniz ?
Laravel 8 ile Veri Tabanına Kayıt Tarihi Ekletme Nasıl Yapılır?
- Düzenlendi
- En İyi Yanıtkoti42 tarafından
koti42 Eloquent kullanıyorsanız ve migrasyon dosyanızda $table->timestamps() ile created_at ve updated_at alanlarının eklenmesini sağladıysanız Laravel bunu sizin için otomatik olarak yapıyor. Göstermek için ise:
$user = User::first();
$user->created_at; // Oluşturulma tarihi
$user->updated_at; // Güncellenme tarihi
created_at ve updated_at alanları ayrıca Carbon objesi olarak döndüğü için şunu da yapabilirsiniz:
$user->created_at->format('d.m.Y H:i'); // 10.02.2021 16:45
$user->created_at->diffForHumans(); // 2 dakika önce
Ek olarak; kendimiz bir tarih girdiysek mesela started_at şeklinde. Bunuda migration da timestamp belirtirsek. Carbon u kullanmadan diffForHumans ve format ı kullanabiliyor muyuz? Ben bir kaç deneme yaptım, kendim tarih girince kullandırmadı.
berkerbekman İlgili model içinde bu alanın date olduğunu belirtirseniz Carbon objesi olarak kullanabilirsiniz.
protected $dates = [
"started_at ",
];
// Veya
protected $casts = [
"started_at" => "datetime",
];
coder2 Oldu, kullanabiliyorum şu an. Fakat Livewire kullanıyorum, düzenleme sayfasında normalde wire:model='started_at' otomatik olarak doluyordu. Şimdi tanımlayamıyor. Yapısı değiştiği için sanırım. Bir fikriniz var mı?
protected $casts = [
'started_at ' => 'datetime:Y-m-d H:i'
];
şeklinde deneyebilirsiniz. started_at seialize edilirken otomatik verdiğiniz formata dönüşecek, istediğiniz neyse ona göre düzenleyin.