代码点火器将参数从控制器传递到模型


Codeigniter pass parameter to model from controller

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

表类别:Category_id,Category_name。表主题:Topic_id、Topic_name、category_is。

我想要索引页面显示这个

类别1:

  • 主题1
  • 主题2
  • 主题3
  • 主题4

第2类:

  • 主题1
  • 主题2
  • 主题3
  • 主题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);

请帮助

更新:

我根据@ssplash58 更新了我所做的事情

控制器

$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; 
 }

尝试

控制器内

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