QA@IT

FuelPHPのDBクラスで「select()」を使ってカラムを指定した場合、関数は使えないのでしょうか?

9996 PV

以下のドキュメントを見ながら質問させて頂きます。
http://fuelphp.jp/docs/1.6/classes/database/db.html

「select()」の項目についてですが、カラム名を指定するようになっています。このように記載されています。

// 生成されるクエリ: SELECT `id`, `name`
$query = DB::select('id', 'name');

しかし、これらのカラムに関数を使用したい場合には、どのように記述すれば良いのでしょうか?
例えば、以下のようなSQLを実行したい場合には、unix_timestamp関数は、使用できないのでしょうか?

select 
  id
  ,name
  ,unix_timestamp(create_dt) as create_dt
from
  t_hogehoge

SQL文を直接記述すれば問題ないという事は解っているのですが、せっかくある機能なのだから、ちゃんと使ってみたいと思っています。
よろしくお願いします。

回答

FuelPHP は使ったことないのですが、リファレンスを斜め読みした感じ下記のような感じだと思います。

<?php
$query = DB::select('id', 'name', array(DB::expr('unix_timestamp(create_dt)'), 'create_dt'))->from('t_hogehoge');
編集 履歴 (1)
  • ありがとうございます!
    一つ一つドキュメントを見ていけば、見つけられたんですね…。すみません、ページ内検索だけで済ませていました。
    お手数をおかけしました。
    -
  • 普段使っている Zend Framework で似たよなことをするのに Zend_Db_Expr というものを使うので、、多分 expr かなーと思ってページ内検索したら見つかりました -
ウォッチ

この質問への回答やコメントをメールでお知らせします。