Laravel Eloquent ORM Üzerinde firstOrCreate Kullanımı

Laravel Eloquent ORM Üzerinde firstOrCreate Kullanımı

Hepinize merhaba dostlarım 😊. Hıphızlı geçen bir haftanın ardından gelen pazar gününü güzel bir şekilde değerlendirmek elbett hepimizin hakkı bunu siz de ben de biliyorum. Ve gelen pazar gününü fırsat bilerek ben de uzun sürenin ardından Laravel ile ilgili bir makale yazmak istedim. 

Yalnız baştan belirtmek isterim ki dostlarım konumuz diğer konulara göre kısa olacaktır. Şimdi içinizden geçmiştir şimdi

Hocam keşke kısa olmasa ne güzel uzun uzun oluyordu okuyorduk

şeklinde söylenimler oluyor ki bunu yakın çevremden de duyuyorum özellikle kısa yazı yazacağım zamanlarda.

Dostlarım ümitsizliğe kapılmayın konumuz gayet basit ve kısa. Aynı zamanda da yazılım camiasında da kullanılan bir yapı buna şahit oldum birkaç kez 😊.

Peki Biz Bu Makalede Hangi Konuyu Görcez ?

Eveeeet artık söözü daha fazla uzatmadan gelelim asıl meselemize. Bu makalemizde Laravel frameworkünde ORM üzerinde pratik bir kullanımı olan ve bazı durumlarda veri tabanında varlığını kontrol etmek istediğimiz, Eğer varlığı yoksa da o kaydı eklemesini istediğimiz bir yapı olan firstOrCreate yapısını göreceğiz. Şimdi konumuza geçmeden önce  firstOrCreate yapısı neyin nesiymiş onu bir inceleyelim 😊

Nedir Bu firstOrCreate ?

Şimdiiii merakınızın arttığını ve

Hocam hadi ama laf kalabalığı yapmayın 😄 Nedir bu yapı cidden merak ettik

gibi söylenmelerinizi rahat rahat görüyorum. Şimdi konumuza gelelim.

Bir veri tabanınız var ve içerisinde işle yaptığınız bir tablo var diyelim. Bu tablo üzerinde herhangi bir kayda ulaşacağımız durumlarda şartları yazıp o kayda ulaşmamız çok basit. Ya yoksa ne yapcaz ?

İşte bu durumda firstOrCreate yapısı bizim gönderdiğimiz değerlerle eşleşen kayıt varsa onu getiriryor, eğer yoksa bizim gönderdiğimiz değerdeki verilerle bir kayıt açıyor ve onu ekranımıza getiriyor. Şimdi hep beraber bu işlemler nasıl yapılıyor gelin ona hızlıca bir bakalım.

Öncelikle dostlarım veri tabanımızı oluşturalım varsayalım. Ben bu makalede örnek olarak Products tablosu oluşturdum. İçerisine de aşağıdaki şekildeki gibi 2 adet kayıt ekledim

şeklinde 2 adet kayıt mevcut. Ben şimdi örnek veriyorum "50 TL lik Beyaz Gömlek" eklemek istiyorum. Hemen editörümü açıyorum ve

$result = \App\Models\ProductModel::firstOrCreate(array(
        "name" => "Beyaz Gömlek",
        "price" => 50
    ));
    dd($result);

şeklinde kodlarımı yazdım. Ekrana gelip baktığımda karşıma gelecek olan sonuç

şeklinde bir çıktı gelecektir. Dikkat ettiyseniz az önce benim göndermiş olduğumuz veriler ekrana geldi. Veri tabanımıza bakalım şimdi de herhangi bir şey var mı yok mu. Hemen PHPMyAdmin e gelip kodlarımıza baktığımızda gelecek olan sonuç

şeklinde olacaktır. Yani bize aslında program diyor ki

Dostum sen bir veri eklemek istedin. Ama senin gönderdiğin verilere ait bir kayıt zaten mevcut. Eklemeye gerek yok

şeklinde bir söylemde bulundu. Hadi bu veri var siz de ben de görüyorum. Gelelim bu sefer farklı bir kayıt ekleme talebinde bulunalım. Hemen editörümü açayım ve

 $result = \App\Models\ProductModel::firstOrCreate(array(
        "name" => "Kırmızı Atkı",
        "price" => 30
    ));
    dd($result);

şeklinde kodumu yazdım. Ekranımı yenilediğimde karşımıza gelecek olan çıktı

şeklinde verilerimiz geldi. Tamam bu kısma kadar çok güzel herhangi bir sorun sıkıntı yok 10 numara. Peki bu kayıt bizim veri tabanımıza eklendi mi ona bir bakalım. Hemen PHPMyAdmin i açalım ve karşımıza gelecek olan sonuç

şeklinde karşımıza çıktı gelecektir ve Bingooo 💯. İşlemler başarılı

Eveeeet dostlarım bu makalemizde de Laravel frameworkünde ORM üzerinde firstOrCreate yapısını elimden geldiğince dilimden döndüğünce anlatmaya çalıştım. Umarım faydalı olmuşumdur. Eksik veya hatalı bir anlatım yapmış isem benimle iletiişime geçmekten çekinmeyin. Konu başlarda biraz karmaşık veyaz zor gelebilir dostlarım anlıyorum. Özellikle öğrenme süreci içerisinde bu gibi durumlarla karşılaşmamız son derece doğaldır. Bu süreç içerisinde sizlerden istediğim tek şey her yazımda da dediğim gibi "İstikrarlı ve Azimli Olmalısınız. Bolca Pratik Yapmalısınız.". Bu dediklerimi hayat felsefeniz yaptığınız sürece başarı sizler için kaçınılmaz olacaktır.

Hayallerinizi gerçekleştirmeniz ve güzel yerlere gelmeniz dileklerimle... İyi çalışmalar dilerim 😊

 

Muhammed Fatih BAĞCIVAN
Yazar Hakkında

Kendi Halinde Bir Backend Developer

Önceki YazıMFSoftware Blog 1 Yaşında
Sonraki YazıLaravel Mutator Kullanımı
Yorumlar (0)
Bu Yazıya Ait Hiçbir Yorum Bulunamadı (veya admin onaylamadı). İlk Yorum Yapan Sen Ol
Yorum Yapabilirsiniz