我正在关注一个教程并得到500问题。我不确定问题是否是由模型引起的。 我的模特:
<?php
class Cat_model extends CI_Model{
public function __construct()
{
$this->load->database();
}
function getCategory($id){
$data = array();
//select one row matching that ID from the categories table
$options = array('id'=>$id);
$q = $this->db->get_where('categories',$options,1);
if($q->num_rows()>0){
$data = $q->row_array();
}
$q->free_result();
return $data;
}
function getAllCategories(){
$data = array();
$q = $this->db->get('categories');
if($q->num_rows()>0){
foreach ($q->result_array() as $row){
$data[] = $row;
}
}
$q->free_result();
return $data;
}
}
我的控制员:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Welcome extends CI_Controller {
public function __construct()
{
parent::__construct();
}
public function index()
{//homepage
$data['title'] = "Welcome to TM testDIY";
$data['navlist'] = $this->cat_model->getAllCategories();
$this->load->var($data);
$this->load->view('template');
}
}
数据库
$db['default']['database'] = 'testDIY';
我在autoload文件中自动加载模型。
如果我清空数据库或在其中放置一些随机名称,它将不会显示500内部服务器错误,而是显示一些有意义的错误消息。 我现在无法解决问题,任何人都可以帮忙吗?
答案 0 :(得分:1)
问题似乎在这里您使用了$this->load->var($data);
而不是$this->load->vars($data);
答案 1 :(得分:0)
您没有在控制器中加载模型
public function index()
{//homepage
//Load the model
$this->load->model('cat_model','',TRUE);
$data['title'] = "Welcome to TM testDIY";
$data['navlist'] = $this->cat_model->getAllCategories();
$this->load->var($data);
$this->load->view('template');
}
您还需要将$数据发送到您的视图
$这 - &GT;负载&gt;查看( '模板',$数据);