Tarih bilgisini düzenli olarak görüntülemek istediğim modellerimde trait kullanıyorum.
public function initializeDate()
{
$this->append('created_text', 'created_once', 'updated_text', 'updated_once');
}
trait çağrıldığında ilgili modele append olarak created ve updated tarihlerini ikişer şekilde ekliyorum
public function getCreatedTextAttribute() {
if( $this->created_at == null )
return null;
return Carbon::parse($this->attributes['created_at'])->format('d/m/Y H:i');
}
public function getCreatedOnceAttribute() {
if( $this->created_at == null )
return null;
return Carbon::parse($this->attributes['created_at'])->diffForHumans();
}
yani genel olarak modelde casts kullanmak yerine
$user->created_at; // 2021-01-17T18:05:50.000000Z
$user->created_once; // "23 saat önce"
$user->created_text; // "17/01/2021 18:05"
bu şekilde blade veya vue alanlarında istediğim gibi gösterebiliyorum bana mantıklı geld :i ve bir sakınca göremedim yine de sizlere sorayım istedim.
Bunun dışında farklı bir yöntem uygulayan var mı ? :