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

use two tables from same database in one view codeigniter

大家好,我在一个视图中使用来自同一数据库的两个 table 时遇到问题。当我只使用其中一个 table 时,它可以工作,但是当我尝试获取它们时,我的视图不会加载。这是我的模型: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 :)


}
}
?>

请注意,我已经注释了调用从第二个 table 获取元素的函数的行。如果我取消注释,我的视图就会冻结。否则它只用一个 table 就可以正常工作。在我看来,我循环遍历 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();

这将从 shedules table 和 subsheds table 加载数据。然后你可以通过这些数据加载视图..

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

现在您可以通过使用 $data['schedules'] 和 $data['subscheds'] 循环遍历 $data 以在必要时使用数据库字段。