Laravel'de DB Yöntemi ile Veri Çekme

Laravel, Eloquent ORM ile birlikte gelen güçlü bir ORM (Object-Relational Mapping) içerir. Ancak, bazen Eloquent kullanmak yerine doğrudan SQL sorguları kullanmak isteyebilirsiniz. Bu durumda, Laravel'in DB facade'i ve table yöntemi kullanarak veri çekebilirsiniz.

DB Yöntemi ile Veri Çekme

Öncelikle veritabanı bağlantınızın olması gerekmektedir.

DB::table
yöntemini kullanarak sorgularınızı oluşturabilirsiniz. Örneğin, bir kullanıcı tablosundan tüm kullanıcıları çekmek için aşağıdaki gibi bir örnek yapılabilir.

$users = DB::table('users')
               ->get();

Bu sorgu,

users 
tablosundaki tüm verileri getirecektir.
get 
yöntemi, sorgudan dönen tüm kayıtları içeren bir koleksiyon döndürecektir.
 

Veriyi Filtreleme ve Sıralama

Sorgularınızı filtrelemek veya sıralamak için çeşitli yöntemleri kullanabilirsiniz. Örneğin,

where 
yöntemini kullanarak belirli bir koşula uyan kayıtları getirebilirsiniz:

$user = DB::table('users')
               ->where('name', 'John')
               ->first();

Bu Sorgu

users 
tablosunda
name 
‘i
John 
’a denk gelen ilk veriyi döndürecektir.

Gelen verilerinizin belirli bir sıralamaya göre gelmesini istiyor iseniz

orderBy
yöntemini kullanarak belirlenen sütunda normal veya tersten sıralanmasını sağlayabiliriz.

$users = DB::table('users')
               ->orderBy('name', 'desc')
               ->get();

Yukarıdaki örnek de name sütununa göre göre kullanıcıların verilerini tersten bir sıralama ile döndürecektir.
 

Seçilen Alanları Belirtme

Bazı durumlarda, sadece belirli alanları almak isteyebilirsiniz. Bu durumda,

select 
yöntemini kullanabiliriz.

$users = DB::table('users')
               ->select('name', 'email')
               ->get();

Yukarıdaki sorgu, "

name
" ve "
email
" alanlarını içeren tüm kullanıcıları getirecektir.