Laravel'de Veritabanı Sorguları: Eloquent ORM Kullanımı

Laravel'in en güçlü özelliklerinden biri Eloquent ORM'dir. Veritabanı sorgularını SQL yazmadan, PHP kodu ile yapmanızı sağlar.

Eloquent kullanmak için önce Model oluşturmanız gerekir. Bir Model, veritabanı tablosuna karşılık gelir ve o tablo ile çalışmak için gereken tüm metotları içerir.

1php artisan make:model User

Bu komut app/Models klasörüne User.php dosyası oluşturur. Artık veritabanında sorgulama yapabilirsiniz:

1// Tüm kullanıcıları getir
2$users = User::all();
3
4// Belirli bir kullanıcıyı ID ile bul
5$user = User::find(1);
6
7// Koşula göre sorgula
8$activeUsers = User::where('status', 'active')->get();
9
10// Yeni kayıt ekle
11$user = User::create([
12'name' => 'Ali',
13'email' => 'ali@example.com'
14]);

Eloquent'in avantajı sorguları zincirleyebilmenizdir. Birden fazla koşulu art arda yazabilirsiniz:

1$users = User::where('status', 'active')
2->where('age', '>', 18)
3->orderBy('created_at', 'desc')
4->limit(10)
5->get();

Tablolar arasında ilişki kurmak da Eloquent'in temel özelliğidir. Bir kullanıcının birden fazla yazısı varsa, User modelinde hasMany ilişkisini tanımlarsınız:

1public function posts()
2{
3return $this->hasMany(Post::class);
4}

Sonra kullanıcının tüm yazılarına kolayca erişirsiniz:

1$user = User::find(1);
2$posts = $user->posts()->get();

Eloquent, SQL öğrenmek zorunda kalmadan veritabanı işlemlerini hızlı ve güvenli bir şekilde yapmanızı sağlar. Migration dosyaları ile tablo yapılarını da kod üzerinden yönetebilirsiniz.

konu hakkında tepkinizi verebilirsiniz