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.
