Rollback of Zend/Db/Sql
このバージョンに戻す
[Rev:mxGlzKCp9b](最終更新:11年前)
[Rev:mxGlzKCp9b](最終更新: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メソッド
カラム名を指定する。
Zend 2.3現在、columnsメソッドより後にvaluesメソッドを呼び出し、かつ第二引数にself::VALUES_SETを設定するか第二引数を省略した場合、columns設定値が消失する
$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");