我有一个带有事件表的“事件”的数据库,它从我的数据库中选择一个偶数,年,月,日,以便在日历中创建动态链接。
这是我的控制器:
$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(日期类型)
如果显示我的控制器/模型/视图的错误行,我通常可以解决这个问题,但是它在系统级别显示错误,这完全抛弃了我。任何帮助是极大的赞赏。谢谢。
答案 0 :(得分:0)
产生错误的查询发生在您发布的代码之外的某个地方。它可能是基于模式文件从模型调用生成的。检查您的架构文件,看看它是否有date
引用,而不是dateof
。
这是ORM的一个缺点,您可以整天编辑架构,但如果您不更新架构配置文件,并重建模型,那么各种各样的事情都可能会中断。