0

我有一个来自事件表的“事件”数据库,它从我的数据库中选择一个 eventid、年、月、日,以便在日历中创建动态链接。

这是我的控制器:

$this->load->model('Sitemodel');
$month=date('n');
$year=date('Y');
$datearray=$this->Sitemodel->get_dates($month,$year);

$baseurl=base_url('site/event').'/';
foreach ($datearray as $datee) {
       $dateeday=$datee['dtDay'];
       $datacalendar[$dateeday]= $baseurl.$datee['eventid'];
}
$data['calenderinfo']=$this->calendar->generate($year,$month,$datacalendar);
$data['events']=$this->Sitemodel->get_10_all_events();

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

这是我的模型:

function get_dates($month,$year){
   $sql="SELECT eventid, DAY(dateof) AS dtDay, MONTH(dateof) AS dtMonth, YEAR(dateof) AS dtYear FROM event WHERE MONTH(dateof)=? AND YEAR(dateof)=?";
   $result=$this->db->query($sql,array($month,$year));
   return $result->result_array();
}

我得到的错误是:

A Database Error Occurred

Error Number: 1054

Unknown column 'date' in 'order clause'

SELECT * FROM (`event`) ORDER BY `date` desc LIMIT 10

Filename: C:\wamp\www\event\system\database\DB_driver.php

Line Number: 330

我无法调试该错误,因为当我知道它必须是我的控制器/模型中的某些东西时,它会链接回 DB_driver。

我的事件表(列名)的数据库结构是:

eventid,eventtype,description,dateof(日期类型)

如果显示了我的控制器/模型/视图的错误行,我通常可以弄清楚这一点,但它在系统级别显示了一个错误,这完全让我失望。任何帮助是极大的赞赏。谢谢你。

4

1 回答 1

0

产生错误的查询发生在您发布的代码之外的其他地方。它可能是根据您的模式文件从模型调用中生成的。检查您的架构文件,看看它是否有date引用而不是dateof.

这是 ORM 的缺点之一,您可以整天编辑模式,但是如果您不更新模式配置文件并重新构建模型,那么各种事情都会中断。

于 2012-04-30T20:25:11.813 回答