Laravel’de ORM Attribute (Accessors & Mutators) İşlemleri

Laravel’de ORM Attribute (Accessors & Mutators) İşlemleri

Laravel’de bugün ORM’den veri okurken, yazarken veriye direk müdahale edebilmekten bahsedeceğim. Bu işlemler aslında bir çok işinizi hafifletmede ön planda olabilir. Gelin Laravel’de Accessors & Mutators ‘dan bahsedelim biraz. Öncelikle Accessors ‘den başlayalım, Accessors veri tabanında veri okurken, veriye çeşitli müdahaleler ile büyük harf’e veya başka tüm müdahalelerde bulunabiliriz. Mutators ‘da ise bu işlem veritabanına veri kayıt sırasında yer almaktadır, yani gelen tüm veriyi örneğin büyük harf’e çevirebileceğimiz gibi bir çok fonksiyon yardımı ile işlemler yapabiliriz. Şimdi Örneklerine Göz Atalım.

Accessors (Read)

İlgili model’e giderek alt kısımdaki kod’u uygulayabiliriz.
Fonksiyon isim yazılım kuralı getFirstNameAttribute kalın olarak yazmış olduğumuz kısım ilgili kolonun camel case şekliyle yazılımıdır.

    // Fonksiyon ismine verdiğimiz FirstName tablo'da first_name tuttuğumuz kolon adını camel case çevirerek kullanılması gerekmektedir.
    public function getFirstNameAttribute($value)
    {
        return strtoupper($value);
        // Attribute olarak belirttiğimiz kolondan okuduğu tüm verileri büyük harf'e çevirir.
        // Examples
        // return ucfirst(strtolower($value));
        // Önce hepsini küçük harf'e çevirir sonra baş harf'ini büyük harf yapar.
    }

Mutators (Create)

İlgili model’e giderek alt kısımdaki kod’u uygulayabiliriz.
Fonksiyon isim yazılım kuralı getFirstNameAttribute kalın olarak yazmış olduğumuz kısım ilgili kolonun camel case şekliyle yazılımıdır.

    // Fonksiyon ismine verdiğimiz FirstName tablo'da first_name tuttuğumuz kolon adını camel case çevirerek kullanılması gerekmektedir.
    public function setFirstNameAttribute($value)
    {
        $this->attributes['first_name'] = strtolower($value);
        // Attribute olarak belirttiğimiz kolona veri yazılırken tüm harfleri küçük harf'e çevirir.
        // Examples
        // $this->attributes['first_name'] = strtoupper($value);
        // İlgili kolona veri kayıt ederken tüm harfleri büyük harf'e çevirir.
    }
Date Mutators

Alt kısımdaki kod ile belirttiğimiz kolonları ileride anlatacağımız Carbon kütüphanesine dahil ediyoruz.

protected $dates = ['created_at', 'updated_at', 'deleted_at'];

strtolower,strtoupper gibi php fonksiyonları Türkçe karakterleri desteklememektedir. Ufak bir araştırma ile bu problemleri giderebilirsiniz.
Daha ayrıntılı bilgi için laravel dökümantasyonunu inceleyebilirsiniz.
Yararlı olabildiysem ne mutlu, Hatam var ise bildirilirse düzeltebilirim.

Beğen  
Yazar

2008, Yılından beri sistem ve yazılım teknolojileri ile ilgilenmekteyim. Ayrıntılı bilgi için hakkımda sayfamı inceleyebilirsiniz.

Bir Cevap Yazın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir