Query_Builder_Update クラス

(Query_Builder_Where の拡張)

Query_Builder_Update クラスは、クエリ構築のためのすべてのアップデート 操作を扱います。 これは、Query_Builder_Where クラスを拡張しており、すべてのメソッドが継承されます。

table($table)

table メソッドは、 アップデートするテーブル名をセット/変更します。

静的 No
パラメータ
パラメータ デフォルト 説明
$table string 必須 テーブル名
返り値 Returns the current instance.
// update 文を準備します
$query = DB::update('users');

// アップデートするテーブル名をセット
$query->table('admins');

// UPDATE `admins` ...

value($column, $value)

value メソッドは、アップデートするカラム名と値をセットします。

静的 No
パラメータ
パラメータ デフォルト 説明
$column string 必須 カラム名
$value mixed 必須 新しい値
返り値 Returns the current instance.
// update 文を準備します
$query = DB::update('users');

// カラムに値をセット
$query->value('name', 'Frank');

// UPDATE `users` SET `name` = "Frank"

set(array $pairs)

set メソッドは、アップデートする複数のカラムと値をセットします。

静的 No
パラメータ
パラメータ デフォルト 説明
$pairs array 必須 カラム名と値の連想配列
返り値 Returns the current instance.
// update 文を準備します
$query = DB::update('users');

// カラム名と値をセット
$query->set(array(
	'name' => 'John',
	'surname' => 'Doe',
));

// UPDATE `users` SET `name` = "John", `surname` = "Doe"

compile(\Database_Connection$db)

compile メソッドは、アップデートを行うSQL クエリを文字列で返却します。

静的 No
パラメータ
パラメータ デフォルト 説明
$db object 必須 データベース接続
返り値 SQL文の文字列
// update 文を準備します
$query = DB::update('users');

// 2つの値をセット
$query->set(array(
	'name' => 'Bert',
	'surname' => 'Klaassen',
));

// データベース接続を取得
$connection = Database_Connection::instance();

// SQL文を取得
$sql = $query->compile($connection);

reset()

reset メソッドは、現在のインスタンスのすべての値をリセットします。

静的 No
パラメータ None
返り値 Returns the current instance.
// update 文を準備します
$query = DB::update('users');

// 2つの値をセット
$query->set(array(
	'name' => 'Bert',
	'surname' => 'Klaassen',
));

// 上記をリセット
$query->reset();

// 1つ値をセット
$query->value('name', 'Hank');

// データベース接続を取得
$connection = Database_Connection::instance();

// SQL文を取得
$sql = $query->compile($connection);

// UPDATE `users` SET `name` = "Hank"

join($table, $type = null)

join メソッドは、JOINするテーブルを追加します。

静的 No
パラメータ
パラメータ デフォルト 説明
$table mixed 必須 table name or array($table, $alias)
$type mixed
true
JOINタイプ (LEFT, RIGHT, INNER, など)
返り値 Returns the current instance.
こちらの例を参照ください。

on($c1, $op, $c2)

on メソッドは、最後に作られたJOINステートメントに対し、 "ON ..." 条件を追加します。

静的 No
パラメータ
パラメータ デフォルト 説明
$c1 mixed 必須 table name or array($table, $alias)
$op string 必須 logical operator
$c2 mixed 必須 table name or array($table, $alias)
返り値 Returns the current instance.
// update 文を準備します
$query = DB::update('users');

// テーブルをJOIN
$query->join('profiles');
$query->on('users.id', '=', 'profiles.user_id');

// 値がエスケープされないように、 Database_Expression を使用します。
$query->value('users.profile_type', \DB::expr('`profiles`.`type`'));

// UPDATE `users` JOIN `profiles` ON `users`.`id` = `profiles`.`user_id` SET `users`.`profile_type` = `profiles`.`type`