2011-11-07 10 views
0

これは私のコードです。私はtblTestからend_dateを尋ねました。 end_dateはdatetimeです。ここ はコードですが、それは私にエラーを与える:CodeIgniter:select datetime wierd return返信

$this->db->select(date('end_date')); 
$this->db->where('topActive', 'true'); 
$this->db->order_by('end_date'); 
$this->db->group_by('end_date'); 
$q = $this->db->get('tblTest'); 

エラー

Unknown column 'UTC1107_07pm30UTC' in 'field list' 
SELECT `UTC1107_07pm30UTC` 
FROM (`tblTest`) 
WHERE `topActive` = 'true' 
GROUP BY `UTC1107_07pm30UTC` 
ORDER BY `UTC1107_07pm30UTC` 

は私が間違って何をしているのですか?

ありがとう

答えて

1

あなたのselectメソッドでは、日付オブジェクトを渡しています。このメソッドは、返される必要がある列の名前を受け入れます。 end_dateはあなたのカラム名なので、それを使用してください。

$this->db->select('end_date'); 

UPDATE

これは、作業を終わったクエリです:

$this->db->select("DATE(end_date) as my_end_date", FALSE); 
$this->db->where('topActive', 'true'); 
$this->db->order_by('my_end_date'); 
$this->db->group_by('my_end_date'); 
$q = $this->db->get('tblTest'); 
+0

[OK]をおかげで、しかし問題は、(上記の本を書いていない)です。私はgroup_by日付と 'end_date'はdatetime(Ymd H:私:s)と私は日付(Ymd)がほしいだけです –

+0

ああ、あなたは 'date'関数を文字列として渡す必要がありますそれはmysqlの 'DATE'関数として解釈され、PHPの' date'関数には解釈されず、選択する第2のパラメータとして 'false'が渡されます。 '$ this-> db-> select(" DATE( 'end_date') "、FALSE);' - p.s.規約では、PHP関数と区別するためにmysql関数を大文字にしています。 – swatkins

+0

申し訳ありませんが、それは私がprint_rから得たものです: [date( 'end_date')] => –