Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Yazı Tipi BoyutlandırıcıAa
  • Anasayfa
  • Teknoloji
    • Siber Güvenlik
    • Yapay Zeka
    • Donanım
    • Bilim
  • Yazılım
  • Savunma & İstihbarat
  • Oyun
  • Yaşam
    • Finans
    • Sinema
    • Dünyadan Haberler
  • İş Birliği
Okuma: Doctrine QueryBuilder Yöntemleri Hızlı Referans Kılavuzu
Paylaş
Yazı Tipi BoyutlandırıcıAa
Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Ara
Bizi Takip Et
  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti
© 2026 Teknomers. All Rights Reserved.

Anasayfa » Doctrine QueryBuilder Yöntemleri Hızlı Referans Kılavuzu

Yazılım

Doctrine QueryBuilder Yöntemleri Hızlı Referans Kılavuzu

teknomers
Son güncelleme: 22 Mart 2026 09:59
teknomers
Paylaş
Paylaş

Doctrine QueryBuilder Kılavuzu

Bu kılavuz, Doctrine QueryBuilder ile çalışırken kullanabileceğiniz temel yöntemleri ve en iyi uygulamaları içermektedir. Aşağıdaki bölümler, SELECT, JOIN, WHERE gibi komutlardan daha karmaşık CTE, UNION, ve önbellekleme gibi konulara kadar geniş bir yelpazeyi kapsamaktadır. İşte detaylar:

İçerik Başlıkları:

  • SELECT: Alan seçim ve DISTINCT seçenekleri;
  • FROM & JOIN: Tablo ayarı ve join türleri (INNER, LEFT, RIGHT);
  • WHERE/HAVING: AND/OR mantığı ile koşullar;
  • GROUP/ORDER: Gruplama ve sıralama, sıfırlama kontrolleriyle;
  • CRUD: INSERT, UPDATE, DELETE işlemleri;
  • Advanced: UNION, CTE, LIMIT/OFFSET, önbellekleme.

1. SELECT

select(string ...$expressions) — SELECT alanlarını tanımlar, önceki seçimleri geçersiz kılar.

// SELECT u.id, u.name, u.email FROM ...
$qb->select('u.id', 'u.name', 'u.email');

addSelect(string $expression, string ...$expressions) — Mevcut SELECT ifadesine alanlar ekler.

// SELECT u.id, p.title, p.content FROM ...
$qb->select()->addSelect(, );

distinct(bool $distinct = true) — Tekrar eden satırların ortadan kaldırılması için DISTINCT ekler.

// SELECT DISTINCT u.city FROM ...
$qb->select()->distinct();

2. FROM & JOIN

from(string $table, ?string $alias = null) — FROM ifadesinde ana tabloyu tanımlar ve isteğe bağlı olarak bir takma ad atar.

// FROM users u
$qb->from(, );

join(string $fromAlias, string $join, string $alias, ?string $condition = null) — Tablolar arasında INNER JOIN oluşturur ve sadece her iki tarafta eşleşen satırları döndürür.

// INNER JOIN posts p ON p.user_id = u.id
$qb->from(, )->join(, , , );

3. WHERE/HAVING

where(string|CompositeExpression $predicate, ...$predicates) — Yeni koşullarla WHERE ifadesini tamamen ayarlar veya değiştirir.

// WHERE u.active = 1 AND u.role="admin"
$qb->select()
   ->from(, )
   ->where()
   ->setParameter(, 1)
   ->setParameter(, );

4. GROUP/ORDER

groupBy(string $expression, ...$expressions) — Belirtilen sütunlarda eşleşen değerleri gruplayarak, genellikle toplama işlevleri ile kullanılır.

// GROUP BY u.city - kullanıcıları konumlarına göre grupla
$qb->select()
   ->from(, )
   ->groupBy();

5. CRUD

insert(string $table) — QueryBuilder‘ı INSERT moduna geçirir ve yeni kayıt oluşturmak için hedef tabloyu ayarlar.

// INSERT INTO users (name, email) VALUES ...
$qb->insert()
   ->setValue(, )
   ->setValue(, )
   ->setParameter(, )
   ->setParameter(, );

6. UNION (DBAL 4.x)

union(string|QueryBuilder $part) — Birleştirerek sonuçları birleştirmek için ilk UNION bloğunu ekler.

// (SELECT u.id FROM users u) UNION (SELECT a.id FROM admins a)
$qb1 = $entityManager->createQueryBuilder()
    ->select()
    ->from(, );
        
$qb2 = $entityManager->createQueryBuilder()
    ->select()
    ->from(, );
        
$qb1->union($qb2->getDQL());

7. CTE

with(string $name, string|QueryBuilder $part, ?array $columns = null) — Birden fazla referans kullanmak için adlandırılmış bir alt sorgu oluşturur.

// WITH active_users AS (SELECT * FROM users WHERE active = 1)
$qb->with(, )
   ->select()
   ->from(, )
   ->leftJoin(, , , )
   ->groupBy();

8. LIMIT/OFFSET

setFirstResult(int $firstResult) — İlk N satırı atlamak için OFFSET ayarlar, sayfalama için kullanışlıdır.

// İlk 20 kullanıcıyı atla (sayfa 3, 20 sonuç)
$qb->select()
   ->from(, )
   ->setFirstResult(20)
   ->setMaxResults(20);

9. Parametreler

setParameter(int|string $key, mixed $value, $type = ParameterType::STRING) — Tek bir parametreyi bağlar; SQL enjeksiyonunu önler.

// İsimli parametre :userId
$qb->where()
   ->setParameter(, 123, ParameterType::INTEGER);

10. Çalıştırma

executeQuery(): Result — SELECT sorgularını yürütür ve bir Result nesnesi döndürür.

// SELECT işlemi yap ve sonucu al
$result = $qb->select()
   ->from(, )
   ->where()
   ->setParameter(, 1)
   ->getQuery()
   ->executeQuery();

Bitti!

Bu kılavuz, tüm temel Doctrine QueryBuilder yöntemlerini kapsayan 12 pratik bölüm içermektedir. Temiz, etkili SQL sorguları yazma konusunda size yardımcı olmayı amaçlamaktadır.

Kaynak: Orijinal Makale

Contents
  • Doctrine QueryBuilder Kılavuzu
    • İçerik Başlıkları:
    • 1. SELECT
    • 2. FROM & JOIN
    • 3. WHERE/HAVING
    • 4. GROUP/ORDER
    • 5. CRUD
    • 6. UNION (DBAL 4.x)
    • 7. CTE
    • 8. LIMIT/OFFSET
    • 9. Parametreler
    • 10. Çalıştırma
  • Bitti!
Laravel Dağıtım Kontrol Listesi: Canlıya Geçmeden Kontrol Edilmesi Gereken 50 Madde
Laravel 11’de defer() Kullanarak API Cevaplarımızı Tek Bir Kuyruğa Dokunmadan 3 Kat Daha Hızlı Hale Getirme
2022 için iOS 15’te yapılacak en iyi uygulamalar seçimimiz
Laravel ile Inertia ve React kullanarak Çok Dilli Uygulama Geliştirme: Pratik Bir Kılavuz
Laravel Ara Katmanını Anlamak — İsteklerin Uygulamanızda Nasıl Seyahat Ettiği
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale AI tokenları yeni bir imza bonusu mu yoksa iş yapmanın maliyeti mi?
Sonraki Makale Dünya Kupası Turistleri İçin Meksiko’nun Xoli Chatbot’u ile Şehri Keşfedin

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

105.000 nano-osilatör 45 nanede senkronize edildi: Transistörlere alternatif
Donanım
Pete Hegseth’in ‘Yüksek T’ Askerleri İçin Tartışmalı Testosteron Planı
Genel
Genç Hackerların Yakalanmasıyla Ünlü Hacking Grubunun Operasyonları Kesildi
Genel
HP Omen Max ile RTX 5080 oyun laptopu 2.199 $ – 1.500 $ indirim!
Donanım
SpaceX Starship V3 Fırlatmasını Beklenmedik Şekilde İptal Etti
Genel
Battlefield 6, 21 Yıldır Görülmeyen Bir Özellik ve Top Gun İşbirliği ile Geliyor
Oyun
//

Siber güvenlik, yapay zeka ve savunma sanayiinden; finans ve sinema dünyasına uzanan geniş bir yelpaze. Teknomers; teknoloji, strateji ve yazılım dünyasını sade bir dille sizlerle buluşturuyor.

Kurumsal

  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti

Kategoriler

  • Teknoloji
  • Oyun
  • Sinema
  • Siber Güvenlik
  • Bilim
  • Finans
  • Dünyadan Güncel Haberler

Populer

  • TV'de Ücretsiz İzlenebilen Şifresiz Erotik Kanallar (2025 Güncel Frekans Listesi)

  • The Last of Us PC Kontrolleri: Hızlı Silah Değiştirme ve Tüm Tuşlar (2025)

  • Hogwarts Legacy'de Odaklanma İksiri Nasıl Yapılır?

Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Bizi Takip Et
© 2026 Teknomers. All Rights Reserved.
Welcome Back!

Sign in to your account

Kullanıcı Adı veya E-posta Adresi
Şifre

Şifrenizi mi unuttunuz?