2016-05-08 15 views
1

Ich habe 2 Tabellen in meiner Datenbank wie folgt:Codeigniter Pass-Parameter zum Modell von Controller

Tabelle Kategorie: category_id, category_name. Tabelle Thema: topic_id, topic_name, category_is.

möchte ich die Index-Seite dieses

Kategorie 1 zeigen:

  • Thema 1
  • Thema 2
  • Thema 3
  • Thema 4

Kategorie 2 :

  • Thema 1
  • Thema 2
  • Thema 3
  • Thema 4

mein Controller

function index() 
    { 
     $this->load->model('category_model'); 
     $data['categories']=$this->category_model->category(1); 
     $this->load->view('page/index',$data); 

    } 

Mein Modell

function category($id) 
    { 
     $this->db->select('*'); 
     $this->db->from('topic'); 
     $this->db->join('category','category_id=category_is'); 
     $this->db->where('category_is',$id); 
     $query= $this->db->get(); 
     return $query->result(); 
    } 

Aber so kann ich nur eine Kategorie ID und sein Thema auf einmal anzeigen. Ohne MCV einfach Funktion mit Parameter aufrufen. Wie

$category= new class_category(); 
    $category->Category(1); 
    $category->Category(2); 

Bitte helfen

UPDATE:

ich aktualisieren, was ich getan, nachdem nach @ splash58

-Controller

$data['categories']['a']=$this->category_model->category(1); 
$data['categories']['b']=$this->category_model->category(2); 
$data['categories']['c']=$this->category_model->category(3); 

Ansicht

foreach ($categories['a'] as $category) { 
echo $category->category_name; 
} 
+0

'zu erhalten [‘ Kategorien '] [] = $ this-> Kategorie_Modell-> Kategorie (1); $ data ['categories'] [] = $ this-> category_model-> category (2); ' – splash58

+0

Und wie wird in der Ansicht angezeigt? –

+0

foreach ($ categories als $ category) .... – splash58

Antwort

0

Versuchen

Kontroller

$categroies = $this->category_model->get_all() 

$data = []; 
foreach ($categories as $category) { 
    $data['categories'] = ['category' => $category, 
          'topic' =>$this->category_model->category($category->category_id)]; 
} 

Im Hinblick

foreach ($categories as $category) { 

    echo $category['category']['category_name']; 
    foreach ($category['topics'] as $topic) { 
     echo $topic['topic_id']; 
    } 
} 

In Modell, das Sie eine weitere Funktion haben alle Kategorien $ data

function get_all() 
    { 
     $this->db->select('*'); 
     $this->db->from('category'); 
     $query= $this->db->get(); 
     return $query->result(); 
    } 
Verwandte Themen