Neden bu model herhangi bir değer döndürüyor değil?

3 Cevap php

Ben CodeIgniter ile çok temel model-> controller-> görünümü yapısını oluşturmaya çalışıyorum. Daha doğrusu her bakış sorguları yürütme daha modelleri (ve model fonksiyonları, daha da önemlisi) ve denetleyicileri kullanmak istiyorum.

Öncelikle, burada modeli bulunuyor:

class Leads extends Model {

    function Leads()
    {
        parent::Model();
    }

    function fetch_leads()
    {
        $query = $this->db->get('leads', 10);
        return $query->result();
    }

}

Burada kontrolör, söz bir varlık sadece ilgili fonksiyon bulunuyor:

function view()
{

    $this->load->model('Leads', '', TRUE);

    $data['query'] = $this->Leads->fetch_leads();

$this->load->view('html_head');
$this->load->view('leads/view', $data);
$this->load->view('html_foot');
}

Ben sorunu bu hat, ben doğru görünümüne geçen veri olmayabilir olduğunu düşünüyorum:

$data['query'] = $this->Leads->fetch_leads();

Şimdi, görünüm:

print_r $data;

Ben temel bahsetti mi? Ben sadece her alanda çekmek ve veritabanından yazdırmaya çalışıyorum. Evet, veritabanı doğru yapılandırılmış, ve evet, veritabanında veri yoktur.

EDIT: modeli otomatik bağlantı veritabanına değildi, bu yüzden ben bu parametre ekledi. Modeli hala değerleri dönen değil.

3 Cevap

o bunu yapmak yolu işe yaramayacak.

return $query->result() satırlar dizisi çıkmıyor. Doğru bunu bu şekilde yapmak gerekiyor görmek için bu dizi geçmek amacıyla:

$view_data = array(
    'leads' => $leads,
);
$this->load->view('leads/view', $view_data);

View ne olur, tüm $view_data dizi elemanları yerel (görünüm için) değişkenleri dönüştürülür edilir. Bu nedenle ne denetleyicisi $view_data['leads'] sizin görünümünde sadece $leads hale gelir.

Bu görünümüne veri geçirerek nasıl bir sorun olabilir. Dizideki $leads koymak deneyin.

Ör. $data['leads'] = $this->Leads->fetch_leads();

Sen $this->load->view() yöntemine bir ilişkisel dizi geçmelidir.

Bu deneyin:

$leads = $this->Leads->fetch_leads();

$data["leads"] = $leads;

$this->load->view('html_head');

$this->load->view('leads/view', $data);

$this->load->view('html_foot');