Bazı formları kullanırken, formlardan kullanıcının göremediği id değerleri çekeriz. Bu yöntemle, tablolar arasında geçiş yapmak kolaydır. Ancak çoğu zaman, formlardan çekilen id değerlerine karşılık gelen başka değişkenleri okumak isteyebiliriz. Bu yazımda controller dosyalarının hepsinde ortak kullanabilen basit ve kullanışlı bir model fonksiyonunu anlatacağım.
Bu fonksiyon oldukça basit bir fonksiyon:
function get_item_row($table,$column,$arr)
{
$query = $this->db->get_where($table,$arr);
if($query->num_rows() > 0)
{
$res = $query->row();
return $res->$column;
}else return FALSE;
}
get_item_row() isimli fonksiyona tablo adı, kolon adı ve WHERE bölümünde kullanılacak bir dizi gönderiyoruz. Fonksiyon bize tablonun istediğimiz kolonuna karşılık gelen değeri geri gönderiyor. Diyelim ki, users isimli bir tablomuz olsun. Formdan gizlice okuduğumuz user_id değerimiz elimizde olsun. Form çalışınca ekrana user_id değerine karşılık gelen username isimli kolondaki değer çekmek istiyorsak, controller dosyamızdan Model fonksiyonunu şöyle çağıracağız:
$username = $this->Model->get_item_row('users', 'username', array('id' => $this->input->post('user_id'));
Genellikle formlardan gelen bilgilerin çekildiği controller dosyalarında kullanacağımız bu fonksiyon için en uygun kullanım yeri, application/libraries dizini altına oluşturacağımız MY_Model.php dosyası olacaktır.
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class MY_model extends Model {
function MY_model()
{
parent::Model();
}
function get_item_row($table,$column,$arr)
{
$query = $this->db->get_where($table,$arr);
if($query->num_rows() > 0)
{
$res = $query->row();
return $res->$column;
}else return FALSE;
}
}
Diğer model dosyalarımızı Model sınıfı yerine MY_Model sınıfını genişleterek (extends) oluşturursak, bu fonksiyonu her controller içinden kullanma şansımız olur.
Permalink | Yazarı : Fatih BAZMAN | Yorum Ekle | Etiketler : Model fonksiyon Örnek
Türkiye