Codeigniter ve ORM: Veri sınırlama

Datamapper’ın güzel yanlarından biri de veritabanından verileri hızlıca ve kısa kodlarla çekebilmemiz.

Tipik bir get kodumuz şöyle;

$u = new Uyeler();

// Bu bize 10 tane üyeyi getirir, yani limiti 10 gönderiyoruz.
$u->get(10);

 

Limitizi daha da detaylandırmak istersek;

$u = new Uyeler();

// Bu kodda bize 20. ID'den başlayarak 10 tane sonuç döndürür.
// Yani sayfalama için kullanacağımız koddur.
$u->get(10,20);

Optimizasyon ve hız istiyorsak sorgularımızdaki SELECT * FROM komutunu şöyle özelleştirebiliriz.

$u = new Uyeler();
$u->select("kullanici_adi,parola");
$u->get(10);

Where komutlarımızı ise şöyle.

$u = new Uyeler();
$u->where('kullanici_adi','deneme');
$u->get();

Tipik where komutumuz bu. Birden fazla durum için yapmamız gereken tek şey where komutunu ikinci kez yazmak.

$u = new Uyeler();
$u->where('kullanici_adi','deneme');
$u->where('parola',12345678);

$u->get();

“Veya” durumu için ise yapmanız gereken sadece or_where komutunu kullanmak. Son olarak bir sütunda verilen değerlerde filtreleme yapmak için ise where_in fonksiyonunu kullanıyoruz.

$idler = array(5,7,12,25);
$u = new Uyeler();
$u->where_in('id',$idler);

// Belirttiğimiz idye sahip olan üyeleri çekiyoruz.
$u->get();

Bir sonraki yazıda datamapper ile tablo ilişkilerini inceliyecez.

Leave a Response