3

コーダー。ここで少し問題が発生していて、解決策が見つかりません。CI の Active Record を使用してクエリを作成しています。クエリのコードは次のとおりです。

 $this->db->select("u.id AS user_id, u.email, p.display_name, p.first_name, p.last_name, s.status_id, s.message");
    $this->db->select("DATE_FORMAT(s.created_at, `Publicado el %d/%m/%Y a las %h:%i %p`) AS created_at", FALSE);

 $this->db->join($this->_table_users . ' u', 'u.id = s.user_id');
 $this->db->join($this->_table_profiles . ' p', 'p.user_id = u.id');

 $this->db->where_in('user_id', $str);
 $this->db->where('deleted', 0);

 $this->db->from($this->_table . ' s');

 $this->db->order_by('s.created_at', 'desc');

しかし、私はこのエラーが発生しています:

エラー番号: 1054

「フィールド リスト」の不明な列「Publicado el %d/%m/%Y a las %h:%i %p」

選択しuます。idAS user_id, u. emailpdisplay_namepfirst_nameplast_namesstatus_idsmessage, DATE_FORMAT(s.created_at, Publicado el > %d/%m/%Y a las %h:%i %p) AS created_at FROM ( default_statuss, default_status) JOIN > default_usersu ON u. id= default_s. user_idJOIN default_profilesp ON p. user_id= u. idWHERE user_idIN ('5726, 2, 10293') AND deleted= 0 ORDER BY s. created_atデスク リミット 2

このクエリ内で DATE_FORMAT を使用できる場所を知っている人はいますか? 面白いのは、純粋な SQL が動作するのと同じクエリの書き込みです。

4

4 に答える 4

8

SELECT ステートメントの 2 番目のパラメーターとして FALSE を追加します。WHERE 句でも同様のことを行う必要がある場合があります。

見るべきいくつかのリンク:

http://ellislab.com/forums/viewthread/74206/#368778

http://ellislab.com/forums/viewthread/206962/#963061

http://ellislab.com/codeigniter/user-guide/helpers/date_helper.html

于 2012-08-31T14:32:03.923 に答える
2

選択を修正する

$this->db->select("u.id AS user_id, u.email, p.display_name, p.first_name, p.last_name, s.status_id, s.message");
$this->db->select("DATE_FORMAT(s.created_at, `%d/%m/%Y`) AS created_at", FALSE);

$this->db->join($this->_table_users . ' u', 'u.id = s.user_id');
$this->db->join($this->_table_profiles . ' p', 'p.user_id = u.id');

$this->db->where_in('user_id', $str);
$this->db->where('deleted', 0);

$this->db->from($this->_table . ' s');

$this->db->order_by('s.created_at', 'desc');
于 2012-09-04T02:46:49.117 に答える
0

返されたメッセージを見てください。フォーマット 'Publicado el > %d/%m/%Y a las %h:%i %p' は ` で渡すことはできません。codeigniter はそれを削除します。' (単一の引用符) で区切ります。詳細については、http: //dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-formatを参照してください。

于 2012-08-31T17:14:59.957 に答える