Codeigniter: Controller kullanmak için Model bir değişken alınıyor

2 Cevap php

Ben bu kadar kolay ama bir süre için çalışıyor ve işe almak için görünmüyor olabilir bahis. Temelde sayfalamayı kuruyorum ve aşağıdaki modeli ben çok '$ config [' TOTAL_ROWS '] gibi config ekleyebilirsiniz yüzden benim denetleyicisi $ TOTAL_ROWS geçmek istiyor = $ TOTAL_ROWS;'.

function get_timeline_filter($per_page, $offset, $source) 
    {
        $this->db->where('source', $source);
        $this->db->order_by("date", "desc");
        $q = $this->db->get('timeline', $per_page, $offset);
        $total_rows = $this->db->count_all_results();

        if($q->num_rows() >0) 
        {
            foreach ($q->result() as $row) 
            {
                $data[] = $row;                 
            }
            return $data;
        }

    }

Ben şeyler modelden bir değişken nasıl emin $this->example_model->example($something); kullanarak değil modele Kontrol oluşturmak geçmek için nasıl anlamak?

2 Cevap

Ben zamanında sizin yapılandırma değişen iyi ideia olmadığını düşünüyorum, ama ben size denetleyicisi $ TOTAL_ROWS değerini almak için 3 yol var.

ideia 1. Siz oturumda $ TOTAL_ROWS değerini saklayabilir

ideia 2. işlev tanımı ex & $ TOTAL_ROWS kullanılarak (referans değişken geçmek:

function get_timeline_filter($per_page, $offset, $source, &$total_rows) 

Bu okuyun: http://php.net/manual/en/language.references.pass.php

sizin denetleyicisi çağrı:

$total_rows=0;
$result=$this->model_name->get_timeline_filter($per_page, $offset, $source, &$total_rows);

ideia 3. işlevi eski gelen değerini döndürür:

(...)

if($q->num_rows() >0) 
{
    foreach ($q->result() as $row) 
    {
        $data[] = $row;                 
    }
    return $data;
}

$final_data['total_rows']=$total_rows;
$final_data['data']=$data;

return $final_data;

Regards,
Pedro

Modelinde bir sınıf değişkeni olarak $ TOTAL_ROWS Set ve herhangi bir diğer sınıf değişken sanki kumandadan erişmek

$total = $this->dbmodelname->total_rows;