Codeigniter将参数传递给控制器​​的模型

时间:2016-05-08 08:42:47

标签: php codeigniter controller

我的数据库中有两个表,如下所示:

表类别:category_id,category_name。 表格主题:topic_id,topic_name,category_is。

我希望索引页面显示此内容

第1类:

  • topic 1
  • topic 2
  • topic 3
  • topic 4

第2类:

  • topic 1
  • topic 2
  • topic 3
  • topic 4

我的控制器

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

    }

我的模特

 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();
    }

但是,我一次只能显示一个类别ID及其主题。 没有MCV,只需用参数调用函数即可。喜欢

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

请帮忙

更新:

我根据@ splash58

更新我所做的事情

控制器

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

查看

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

1 个答案:

答案 0 :(得分:0)

尝试

在控制器

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

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

在视图中

foreach ($categories as $category) {

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

在模型中,您还有一个功能可以获取所有类别

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