仕事で、FuelPHPを触ったのでメモ。
DBの使い方は、公式に記載されている(日本語: Ver1.8版)
http://fuelphp.jp/docs/1.8/classes/database/usage.html
もっと詳しい使い方は、こちらの方のブログが丁寧にまとめられている
マコトのおもちゃ箱
SELECT
SELECT
$result = DB::select('col1', 'col2')->from('table_name')->where('id', 1)->execute();
返り値: FuelのDatabase_Query オブジェクト
配列で取得
controller内で加工したいときはas_array()で配列に変換してしまうと便利。
カラム名をkeyとしてデータが格納される。
配列で取得
$result = DB::select('col1', 'col2')->from('table_name')->execute()->as_array();
var_dump($result);
/*array(3) {
[0]=>
array(11) {
["col1"]=>
string(1) "hoge"
["col2"]=>
string(19) "fuga"
}
[1]=>...
}*/
JOINと別名
JOINは、join()->on()
ONが複数あるときは、and_on()を使う。
別名は、カラム名の代わりarray('カラム名', '別名')と記述する
JOINと別名
$result =
DB::select('table_name.col1', array('table_name2.col1', 'as_name')
-> from('table_name')
-> join('table_name2', 'LEFT')->on('table_name.id', '=', 'table_name2.id')
-> join(array('table_name3', 'table3'),'LEFT')
-> on('table_name.id', '=', 'table3.id')->and_on('table_name.col3', '=', 'table3.col3')
->where('table_name.del_flg', '0')
->execute()->as_array();
var_dump($result);
/*array(3) {
[0]=>
array(11) {
["col1"]=>
string(1) "hoge"
["as_name"]=>
string(19) "fuga"
}
[1]=>...
}*/
INSERT
INSERT
$result = DB::insert('table_name')->set(array(
'col1' => 'hoge',
'col2' => 'fuga',
) )->execute();
if($result[1] > 0){ //成功 }
返り値: 配列
1つ挿入した場合の返り値は、
[int: InsertしたレコードのPrimaryKey, int: Insertされたレコード数]
UPDATE
UPDATE
$result = DB::update('table_name')->value('col1', 'hoge')->where('id', 1)->execute();
if($result > 0){ //成功 }
返り値: 数値
UPDATEされたレコード数を返す。
DELETE
DELETE
$result = DB::delete('table_name')->where('id', 1)->execute();
if($result > 0){ //成功 }
返り値: 数値
DELETEされたレコード数を返す。