プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
FuelPHP1.6、クエリビルダを理解する(1)前準備、基本
FuelPHPではクエリビルダなるものを使えば、SQLがほぼそのまま実行できるらしい。
そいつを見ていこうってのが今回のテーマです。

前準備として、テストデータを作成しておきますかねφ(--)

■tbl_test01
CREATE TABLE IF NOT EXISTS `tbl_test01` (
  `pk_id` int(10) NOT NULL AUTO_INCREMENT,
  `column_varchar01` varchar(255) DEFAULT NULL,
  `column_int02` int(10) DEFAULT NULL,
  `column_varchar02` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`pk_id`),
  KEY `pk_id2` (`pk_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=11 ;

INSERT INTO `tbl_test01` (`pk_id`, `column_varchar01`, `column_int02`,
 `column_varchar02`) VALUES
(1, 'あああ', 10, 'いいい'),
(2, 'あああ', 10, 'いいい'),
(3, 'あああ2', 11, 'いいい2'),
(4, 'あああ2', 11, 'いいい2'),
(5, 'あああ3', 10, 'いいい3'),
(6, 'あああ3', 10, 'いいい3'),
(7, 'あああ3', 10, 'いいい3'),
(8, 'あああ4', 12, 'いいい4'),
(9, 'あああ4', 12, 'いいい4'),
(10, 'あああ5', 13, 'いいい5');

■tbl_test02
CREATE TABLE IF NOT EXISTS `tbl_test02` (
  `pk_id2` int(10) NOT NULL AUTO_INCREMENT,
  `test01_pk` int(10) DEFAULT NULL,
  `column_varchar21` varchar(255) DEFAULT NULL,
  `column_int22` int(10) DEFAULT NULL,
  `column_varchar22` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`pk_id2`),
  KEY `pk_id2` (`pk_id2`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;

INSERT INTO `tbl_test02` (`pk_id2`, `test01_pk`, `column_varchar21`,
 `column_int22`, `column_varchar22`) VALUES
(1, 1, 'アアア', 20, 'イイイ'),
(2, 1, 'アアア2', 21, 'イイイ2'),
(3, 2, 'アアア2', 90, 'イイイ2'),
(4, 3, 'アアア3', 90, 'イイイ3');

まずは基本ですが、DBクラスのあれやこれやを使うらしい。

一番基本的なクエリの発行は

$q = DB::query('DELETE FROM tbl_test01;');
$q->execute();

のように「DB::query()」でクエリを作って「execute()」で実行。

ただし

select → DB::select()
insert → DB::insert()
update → DB::update()
delete → DB::delete()

のようにそれぞれ専用のクエリ生成メソッドがあるので普通はそっちを使うらしい。
そして

$q = DB::select();
$q->from('tbl_test01');
$q->where('column_varchar01', '=', 'あああ');

$result = $q->execute()->as_array();

のように、対象とするテーブルだとか検索条件だとかをくっつけていくことで
任意のクエリを作ることができるのだそうな。

と言うことは

1.どのように書けば実行したいクエリになるのか
2.どのように実行するとどのような結果が返却されるのか

を理解すればクエリビルダはマスターってことですかね。

次回は検索関連を見ていくことにします(--)ノ
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

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

  関連記事