Laravel Query Builder

Merhaba Mobilhanem.com takipçileri,
Laravel ile eğitim serimizin yeni dersinde Laravel Query Builder yapısını anlatmaya çalışacağım. Sizin yorumlarınız çok önemli lütfen paylaşım ve yorumlarınızı bizden esirgemeyin 🙂

Laravel Query Builder Nedir?

Özelleştirilmiş bir standart SQL olarak düşünebiliriz. Model dosyası olmayan tablolar için bu sistemi kullanabiliriz. Bir önceki yazımızda bahsettiğimiz Raw SQL Queries yapısından farklı olarak daha düzenli kod yazılması ve bazı işlemlerin daha akıcı şekilde yazılabilmesini sağlar.

Bir önceki yazımızda oluşturduğumuz Page Controller dosyasını kullanalım. Önceki yazımızda yer alan Page Controller dosyasımızı hatırlamak için ekleyelim.

Laravel raw sql queries

Yukarıda yer alan görseldeki kodlarımızı bir de Query Builder ile yapalım.

laravel query builder
laravel query builder

Tıpkı Laravel Raw SQL Queries için olduğu gibi Laravel Query Builder kullanmak için de controller dosyasından üst bölümüne ‘DB’ methodunu çağırmamız gerek. Bunun için ‘namespace’ satırının altına

use Illuminate\Support\Facades\DB;

satırını eklememiz gerek. Bu sayede yazdığımız sql öbekleri Laravel tarafından işlenecektir.

Laravel Query Builder bizim için bir çok kolaylığı beraberinde getiriyor. Mesela çoklu insert işlemi yapabiliyoruz.

DB::table('pages')->insert([
    ["baslik" => "Laravel Raw SQL Queries", "icerik" => "Laravel Raw SQL Queries ekleme işlemlerini yaptık", "aktif" => 1]
    ["baslik" => "Laravel Query Builder", "icerik" => "Laravel Query Builder ekleme işlemlerini yaptık", "aktif" => 1]
]);

Yukarıda görüldüğü gibi iki insert işlemini tek bir Query ile yapabiliyoruz.

Laravel Query Builder Where Kullanımı

Bu yapıda where kullanımı oldukça gelişmiştir. Bu tanım iki ya da üç değişiken ile kullanılabiliyor. Bunu şu şekilde açıklayabiliriz. Eğer iki değişkenli bir tanım kullanılacak ise örneğin

DB::table('pages')->where('aktif', 1)->get();

Bu kod satırının açıklaması standart bir SQL ile şöyle açıklanabilir;

select * from pages where aktif=1;

Toparlayacak olursak eğer iki değişkenli bir where ifadesi kullanmak isterseniz bu eşitlik anlamı taşır. Fakat eşitlik hariç her durum için üçünkü bir değişken kullanmalıyız.

DB::table('pages')->where('aktif', '!=', 1)->get();

bunun sql karşılığı ise

select * from pages where aktif!=1;

Aynı şekilde birden fazla where ifadesi kullanabiliriz. Bunun için ifadeleri peşpeşe eklememiz yeterli.

DB::table('pages')->where('aktif', 1)->where('baslik','LIKE', '%Laravel%')->orWhere('icerik','')->get();

Yazdığımız bu kod satırı ile iki adet where ve bir adet orWhere ifadesi kullandık. Bunu SQL kodu olarak yazmak istersek aşağıdaki gibi bir kod yazabiliriz.

select * from pages where aktif = 1 and baslik Like '%Laravel%' or icerik = '';

Mobilhanem.com için yazdığım bu yazımda Laravel Query Builder yapısından bahsetmeye çalıştım. Daha fazla detaylı bilgi için laravel dökümanından yararlanabilirsiniz.

Tüm Laravel Derslerimiz için tıklayınız.

Mobilhanem.com üzerinden yayınladığım laravel eğitimlerine devam edeceğiz. Yazımız ile ilgili tüm sorularınızı yorum bölümden ulaştırabilirsiniz. Bunun dışındaki diğer sorularınız için sorucevap.mobilhanem.com sitesini kullanabilirsiniz.

Umarım sizin için yararlı olmuştur. Okuduğunuz için teşekkürler. Daha fazla kişinin okuması için paylaşmayı unutmayın…

52

Onur Üre

Aslen jeoloji mühendisi olup hiç mesleğini yapmaya fırsat bulamayan ve gönlünde hep bilgisayar ve programlama olan, evden (home-office) çalışma şekline bayılan, evli, 2 kedi ve 1 tavşan babası, sokaktaki her köpek, kedi, kuşun abisi olmaya çalışan biriyim. Lütfen bir kap su bir kap yemek her köşe başına...

Yorum Yaz

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?