PHPにはADOdbというDB抽象レイヤの実装ライブラリがある。
このADOdbはActiveRecordを持っている。
持っているが、かつては単一テーブルのみ対象で、
リレーション・テーブルを操作するメソッドが無かった。
無かったと思ってたら、最近(?)、追加されていたらしい。
ADOdb Active Record
世の中がドンドン便利になっていく。
2009年5月9日土曜日
2009年5月4日月曜日
PHPのADOdbライブラリ
MySQLでDictionaryAPIを使ってみました。
【ソース】
【作成されたSQL】
【作成されたテーブル】
【ソース】
$tabname = 'test';
$flds = array(
array('C','C','128'),
array('X','X'),
array('XL','XL'),
array('C2','C2','128'),
array('X2','X2'),
array('B','B'),
array('D','D'),
array('T','T'),
array('L','L'),
array('I','I'),
array('I1','I1'),
array('I2','I2'),
array('I4','I4'),
array('I8','I8'),
array('F','F'),
array('N','N')
);
$taboptarray = array(
'mysql' => 'TYPE=ISAM',
'oci8' => 'tablespace users',
'REPLACE');
$dict = NewDataDictionary($context->_db);
$sqlarray = $dict->CreateTableSQL($tabname, $flds, $taboptarray);
$flds = array(
array('C','C','128'),
array('X','X'),
array('XL','XL'),
array('C2','C2','128'),
array('X2','X2'),
array('B','B'),
array('D','D'),
array('T','T'),
array('L','L'),
array('I','I'),
array('I1','I1'),
array('I2','I2'),
array('I4','I4'),
array('I8','I8'),
array('F','F'),
array('N','N')
);
$taboptarray = array(
'mysql' => 'TYPE=ISAM',
'oci8' => 'tablespace users',
'REPLACE');
$dict = NewDataDictionary($context->_db);
$sqlarray = $dict->CreateTableSQL($tabname, $flds, $taboptarray);
【作成されたSQL】
DROP TABLE IF EXISTS test
CREATE TABLE test (
C VARCHAR(128),
X TEXT,
XL LONGTEXT,
C2 VARCHAR(128),
X2 LONGTEXT,
B LONGBLOB,
D DATE,
T DATETIME,
L TINYINT,
I INTEGER,
I1 TINYINT,
I2 SMALLINT,
I4 INTEGER,
I8 BIGINT,
F DOUBLE,
N NUMERIC
)TYPE=ISAM
C VARCHAR(128),
X TEXT,
XL LONGTEXT,
C2 VARCHAR(128),
X2 LONGTEXT,
B LONGBLOB,
D DATE,
T DATETIME,
L TINYINT,
I INTEGER,
I1 TINYINT,
I2 SMALLINT,
I4 INTEGER,
I8 BIGINT,
F DOUBLE,
N NUMERIC
)TYPE=ISAM
【作成されたテーブル】

登録:
投稿 (Atom)