FuelPHPを使用してDBを操作する方法を調べてみました。

また、忘れないようにするためのメモ書きです

DB構成

以下の内容を想定したカラムの情報になります。

id、USER、PASSWORD、flag、created_time

 

COUNT

$query = DB::select(DB::expr('COUNT(*) as count'))->from('データベース名')->where('USER, $USER)->and_where('PASSWORD', $PASSWORD);
$results = $query->execute()->as_array();

 

SELECT

$query = "SELECT * FROM データベース名 where('USER, $USER)->and_where('PASSWORD', $PASSWORD);
$results = \DB::query($query)->execute();

 

INSERT

$query = DB::insert('データベース名');
$query->columns(array('USER','PASSWORD));
$query->values(array($USER,$PASSWORD));
$results = \DB::query($query)->execute();

 

DELETE

$results = DB::delete('データベース名')->where('USER',$USER)->and_where('PASSWORD', $PASSWORD)->execute();

 

UPDATE

$query = DB::update('データベース名');
$query->value('flag', '1');
$query->where('USER','=',$USER);
$query->and_where('flag','=','0');
$query->and_where('PASSWORD','=',$PASSWORD);
$results = \DB::query($query)->execute();

 

PostgreSQLのデータベースの初期化方法

//データベース初期化(DELETEコマンド編)
$query = DB::delete('データベース名');
//データベース初期化(TRUNCATEコマンド編)
//全ての行を素早く削除する事が可能なため、膨大なデータを使用している場合は
//TRUNCATEコマンドを推奨します。
$query = "TRUNCATE データベース名";
$results = \DB::query($query)->execute();
//シーケンス初期化
$query = "select setval('データベース名_id_seq', 1, false)";
$results = \DB::query($query)->execute();

 

between(範囲指定)

時間を指定した範囲指定の内容になります。

$date = time();

$starttime = date("H:i:s",$date);
$endtime = date("H:i:s",strtotime('-15 minute'));

$createdate = date("Y-m-d",$date);

$query = DB::select(DB::expr('COUNT(*) as count'))->from('termsofuse')->and_where('flag', '0')->and_where('created_date', $createdate)->and_where('created_time','between', array($endtime, $starttime));

$results = $query->execute()->as_array();