プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
FuelPHP1.6、クエリビルダを理解する(2)検索その1
FuelPHP1.6、クエリビルダを理解する(1)前準備、基本」の続きです。

検索関連は恐らく

1.データの取得項目(全項目を取得とかこの項目のみを取得とか)
2.データの取得形式(文字列で取得とか配列で取得とか)
3.データの取得条件、他(where句とかorder by句とか)

を理解すれば大丈夫だと思うのですよね。
「3.」は覚えなくちゃいけないこと多そうだけど。

それでは早速見ていきまする。
まずは

1.データの取得項目(全項目を取得とかこの項目のみを取得とか)

について試してみましたよφ(--)

■ 全項目取得:select()
$q = DB::select()->from('tbl_test01');
var_dump($q->execute());

■ 特定項目のみ取得:select('column01','column02')
$q = DB::select('pk_id','column_varchar01')->from('tbl_test01');
var_dump($q->execute());

■ 別名をつけて取得:select(array('column01','alias_name'))
$q = DB::select(array('pk_id','alias_name'))->from('tbl_test01');
var_dump($q->execute());

■ 複数項目を別名をつけて取得:select(array('column01','alias_name'), array('column02','alias_name2'))
$q = DB::select(array('pk_id','alias_name'), array('column_varchar01','alias_name2'))->from('tbl_test01');
var_dump($q->execute());

■ distinctで取得:->distinct(true)
$q = DB::select('column_varchar01')->from('tbl_test01')->distinct(true);
var_dump($q->execute());

■ group byしてdistinctで取得:->distinct(true)->group_by('column01')
$q = DB::select('column_int02', 'column_varchar01')->from('tbl_test01')->distinct(true)->group_by('column_int02');
var_dump($q->execute());

■ 合計を取得:select(DB::expr('SUM(column1) as alias_name'))
$q = DB::select(DB::expr('SUM(column_int02) as cnt'))->from('tbl_test01');
var_dump($q->execute());

■ 件数を取得:select(DB::expr('COUNT(*) as alias_name'))
$q = DB::select(DB::expr('COUNT(*) as cnt'))->from('tbl_test01');
var_dump($q->execute());

「DB::expr()」はエスケープを回避する関数です。
SUM()関数とかを使いたい場合は「DB::expr()」をかませば良いのですね。
てか「DB::expr()」使えばどうとでもなりそうですね。

試しに

$q = DB::select(DB::expr('pk_id, column_varchar01'))->from('tbl_test01');
var_dump($q->execute());

と書いたら「pk_id」と「column_varchar01」が取得できましたし

$q = DB::select(DB::expr('*'))->from('tbl_test01');
var_dump($q->execute());

と書いたら全項目取得できました。

……「DB::expr()」って、身も蓋も無い関数だな!?Σ( ̄◇ ̄;
まぁ便利だけど。

次回はデータの取得形式を見ていきまする。
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:FuelPHP  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト 

  関連記事