2012-04-28 7 views
0

カレンダーにダイナミックリンクを作成するために私のデータベースからeventid、年、月、日を選択するイベントテーブルから "イベント"を持つDBを持っています。ここでカレンダー配列のクエリからの奇妙なdbエラー

は私のコントローラである:ここ

$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にリンクします。

イベントテーブル(列名)のための私のDB構造がある:(date型である)

イベントID、EVENTTYPE、説明、dateof

私は、通常のエラー行場合は、これを見つけ出すことができ私のコントローラー/モデル/ビューが表示されていますが、システムレベルでエラーが表示されてしまいます。どんな助けでも大歓迎です。ありがとうございました。

+0

あなたのdbスキーマはどうですか? –

+4

エラーを生成しているクエリは、投稿したコード以外で発生しています。スキーマファイルに基づくモデル呼び出しから生成される可能性があります。あなたのスキーマファイルをチェックし、 'dateof'の代わりに' date'参照があるかどうか確認してください。 –

+1

マイク - そうだったんだけど、矛盾を避けるためにdateからdateofにカラム名を変更していたのですが、モデルのすべてのリファレンスを変えてしまった、ばかな過ちです。あなたが "答えを提出する"ことを望むなら、私は受け入れます。ありがとうございます –

答えて

0

エラーを生成しているクエリは、送信したコード以外のどこかで発生しています。スキーマファイルに基づくモデル呼び出しから生成される可能性があります。スキーマファイルを確認し、dateofの代わりにdateの参照があるかどうかを確認してください。

これはORMのメリットの1つです。スキルの設定ファイルを更新せずにモデルを再構築すると、あらゆる種類の事態が壊れる可能性があります。