大家好我在一个视图中使用同一个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循环中的元素。可能是什么问题呢?感谢
答案 0 :(得分:2)
希望这个能帮到你..
$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);
尝试这个..我做了一些修改。你可以访问&#34;时间表&#34;作为$ schedule和&#34; subscheds&#34;在&#39; schedule&#39;中作为$ subscheds您定义的视图。
答案 1 :(得分:0)
$data['schedules'] = $this->schedule_model->get_schedules();
$data['subscheds'] = $this->schedule_model->get_subscheds();
这将同时从shedules表和subsheds表中加载数据。然后您可以通过以下方式加载这些数据的视图。
$this->load->view('schedule', $data);
现在,您可以使用$ data ['schedules']和$ data ['subscheds']在$ data中循环,以在需要时使用db字段。