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.
Ö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.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.
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.