【问题标题】:Codeigniter pass parameter to model from controllerCodeigniter 将参数从控制器传递给模型
【发布时间】:2016-05-08 08:42:47
【问题描述】:

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

表类别: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);

请帮忙

更新:

我根据@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; 
 }

【问题讨论】:

  • `$data['categories'][]=$this->category_model->category(1); $data['categories'][]=$this->category_model->category(2);`
  • 以及如何在视图中显示?
  • foreach($categories as $category) ....
  • 我收到错误消息:尝试获取非对象的属性。
  • 哪里 - 什么行,什么变量?

标签: php codeigniter controller


【解决方案1】:

试试

在控制器中

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多