Rollback of Zend/Db/Sql

このバージョンに戻す
[Rev:8dQci44z5Y](最終更新:11年前)

基本的な利用方法

$sql = new Zend\Db\Sql\Sql($adapter);
$insert=$sql->insert();
$insert->into("test");
// columnsを先に書くと何故か消える
$insert->values(array("1","hoge"));
$insert->columns(array("id", "name"));
echo $sql->getSqlStringForSqlObject($insert);
// →INSERT INTO `test` (`id`, `name`) VALUES ('1', 'hoge')

Insert

$sqlクラスのinsertメソッドから呼び出される。
引数はテーブル名

//テーブル名を引数に指定する
$insert=$sql->insert($tableName);
//テーブル名は以下のintoメソッドでも設定可能
//intoメソッドが優先される
$insert->into($tableName);

intoメソッド

テーブル名を指定する

php){$insert->into($tableName

columnsメソッド

カラム名を指定する。
&color(#FF0000){''Zend 2.3現在、valuesメソッドの第二引数にself::VALUES_SETを設定するか、省略した場合
設定値が消失する''};

$array = array("id", "name", "value");
$insert->columns($array);

valuesメソッド

Insertする値の設定を行う

//$flagは省略可能(省略した場合self::VALUES_SETがセットされる)
$insert->values($values, $flag);

$valuesにはSelectインスタンスか配列がセットされる
$valuesは本来連想配列かSelectインスタンスがセットされるのだと思われるが
Zend 2.3現在、self::VALUES_SETを$flagにセットした場合、columnがリセットされて
うまく動作していないと思われる。
仕様変更がある可能性があるので、この項目は詳しくは記述しない。

selectメソッド

valuesメソッドが呼び出される。

php){$insert->values($select

が実行される。

getRawStateメソッド

table名、columns設定値、values設定値を返す。
引数を省略すると連想配列ですべての情報を返す。

$insert->getRawState("table");
$insert->getRawState("columns");
$insert->getRawState("values");

スポンサー