0

カレンダーに動的リンクを作成するために、データベースからイベント ID、年、月、日を選択するイベント テーブルから「イベント」を含むデータベースがあります。

これが私のコントローラーです:

$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構造は次のとおりです。

eventid,eventtype,description,dateof(日付型)

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

4

1 に答える 1

0

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

これは ORM の欠点の 1 つです。スキーマを 1 日中編集できますが、スキーマ構成ファイルを更新せずにモデルを再構築すると、あらゆる種類のものが壊れる可能性があります。

于 2012-04-30T20:25:11.813 に答える