CodeIgniter kullanarak bir kumanda ile dinamik bir kullanıcı bazında İzlenme içine 'modules' Veri yükleniyor

3 Cevap php

Ben mevcut 'modülleri' herhangi bir sayıda seçilmiş olan bir kullanıcı için 'modülleri' bir dizi için görüşlerini yüklemeye çalışıyorum. Ben veritabanından modülleri adı veya herhangi bir sütunu alabilirsiniz.

load->view($name . '_view');

Gerçi 'modül' adına dayalı görünüm için veri yüklemek için bir yol anlamaya gibi olamaz.

//Loads the rows (selected modules) I need for this user into an array
$modules['modulearr'] = $this->module_model->getModuleUser();

    for($i = 0; $i < count($modules['modulearr']); $i++){ 

            //Get the variable from the array
            $name = $modules['modulearr'][$i]->mod_name;

             //The below works.
            $this->load->view($name.'_view');

            //The below would not work. (this is the crux of my problem)
            $data = $this->$name.'_model'->get();
            $this->load->view($name.'_view', $data);
    }

Ben dinamik $this->load->THIS_PART değiştiremezsiniz gerçeğine dayalı denetleyicisi modelleri yükleme ile ilgili bir sorun da vardır.

Ben her şeyi yeni duyuyorum, ben açgözlü değilim temel bir kavram olabilir. Eğer doğru yönde bana gelin olsaydı; bu harika olurdu. Ben eğer tabloların bir sürü yapabilirdi, ama bu dağınık görünüyor. Elbette daha iyi bir yolu yoktur. Şimdiden teşekkürler!

3 Cevap

Veritabanından alanlar (dizi şeklinde): Bu bir harf sorun oldu

$name = $modules['modulearr'][$i]->mod_name;

başkentlerinde bazen edildi. Ben kullanarak düzelttim

$name = strtolower($name);  
$nameMod = $name.'_model';

o zaman

//it doesn't seem to like combinations of things where nameMod is below.
$data[$name.'_result'] = $this->$nameMod->get() 
$this->load->view($name.'_view', $data);

Özgün bir model işlevi bölümünü arayarak görünümü yükleme bölümü değil veri yükleme çalıştı neden bilmiyorum, ama şimdi yok. Ben (sonra kayıt veya giriş) seçer ve kendi profiline her bir kullanıcı tarafından eklenen modülleri görüntüler sayfası işlevi, bir ana iniş için onu kullanıyorum, muhtemelen tamamen aksak bir şekilde bu konuda gidiyorum, ama ben yaparak yığınları öğreniyorum hatalar, kesinlikle doğru yolda beni koymak yardım answerers için teşekkürler

belki istedi

$data = $this->$name.'_model'->get();

Eğer dizeleri bitiştirmek için unuttum

but can't seem to figure a way to load the data for the view based on the 'module' name.

Modül adı hattan tanımlandığı gibi görünüyor

$name = $modules['modulearr'][$i]->mod_name;

Bu işe yararsa ...

$this->load->view($name.'_view');

belki bunu yapmak istiyor?

$data = $name.'_model'->get();

yerine $ this-> name?

(I gerçekten oluyor ne olduğunu bilmiyorum) işe yaramazsa bu-> name $ yankılanan ve emin çıkış '_model' bağlı mantıklı yapmayı deneyin