在一个视图中使用来自同一数据库的两个表


use two tables from same database in one view codeigniter

大家好,我在一个视图中使用同一DB中的两个表时遇到了问题。当我只使用其中一个表时,它是有效的,但当我尝试获取它们时,我的视图不会加载。这是我的模型:schedule_model.php:

 <?php
    class Schedule_model extends CI_Model {
        public function __construct()
        {            
        }
            public function get_schedules()
            {
                $this->db->select('schedule.id, schedule.name');
                $this->db->from('Schedule');
                $this->db->group_by("schedule.id"); 
                $query = $this->db->get();
                return $query->result_array();
            }
         public function get_subscheds()
            {
                $this->db->select('subsched.id, subsched.name, subsched.enable, subsched.from, subsched.to, subsched.mode, subsched.fcu1, subsched.fcu2, subsched.fcu3, subsched.pon, subsched.vt, subsched.sr, subsched.cet, subsched.pet, subsched.sab, subsched.ned');
                $this->db->from('Subsched');
                $this->db->group_by("subsched.id"); 
                $query = $this->db->get();
                return $query->result_array();
            }

}
?>

这是控制器:schedule.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Schedule extends CI_Controller {
public function __construct()
{
    parent::__construct();
    $this->load->model('schedule_model');
}
public function index()
{
    if(!$this->session->userdata('loggedIn')){
        redirect("login");
    }

    $data['schedules'] = $this->schedule_model->get_schedules();
    //$data['subscheds'] = $this->schedule_model->get_subscheds();
    $this->load->view('schedule', $data); //my view is also named  schedule :)

}
}
?>

请注意,我已经对调用从第二个表中获取元素的函数的行进行了注释。如果我取消注释它,我的视图就会冻结。否则,它只适用于一张桌子。在我的视图中,我循环浏览foreach循环中的元素。可能是什么问题?感谢

希望这个能帮助你。。

$schedules = $this->schedule_model->get_schedules();
$subscheds = $this->schedule_model->get_subscheds();
$data['schedules'] = $schedules;
$data['subscheds'] = $subscheds;
## and then pass to view.
$this->load->view('schedule', $data); 

试试这个。。我做了一些修改。。在您定义的"schedule"视图中,您可以将"schedules"访问为$schedules,将"subscheds"访问为$subscheds。

$data['schedules'] = $this->schedule_model->get_schedules();
$data['subscheds'] = $this->schedule_model->get_subscheds();

这将从计划表和子计划表加载数据。然后你可以通过..加载带有这些数据的视图

$this->load->view('schedule', $data); 

现在,您可以通过使用$data[‘schedules’]和$data[’subscheds’]在任何必要的地方使用db字段来循环$data。