Query_Builder_Insert クラス

(Query_Builder_Where の拡張)

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

table($table)

table メソッドは、インサートするテーブルをセット/変更します。

静的 いいえ
パラメータ
パラメータ デフォルト 説明
$table string 必須 テーブル名
返り値 現在のインスタンスを返します。
// insert 文を準備
$query = DB::insert('users');

// 挿入するテーブル名を更新
$query->table('admins');

// INSERT INTO `admins` ...

columns(array $columns)

columns メソッドは、インサートするカラムをセット/変更します。

静的 いいえ
パラメータ
パラメータ デフォルト 説明
$columns array 必須 カラム名の配列
返り値 現在のインスタンスを返します。
// insert 文を準備
$query = DB::insert('users');

// カラム名をセット
$query->columns(array(
	'name',
	'surname',
	'email')
);

// INSERT INTO `users` (`name`, `surname`, `email`)

values(array $values)

values メソッドは、インサートする値を追加します。

静的 いいえ
パラメータ
パラメータ デフォルト 説明
$values array 必須 値のリスト
返り値 現在のインスタンスを返します。
// insert 文を準備
$query = DB::insert('users');

// カラム名をセット
$query->columns(array(
	'name',
	'surname',
	'email',
));

// 値をセット

$query->values(array(
	'John',
	'Doe',
	'john@doe.com',
));

// INSERT INTO `users` (`name`, `surname`, `email`) VALUES ("John", "Doe", "john@doe.com")

set(array $pairs)

set メソッドは、インサートするカラムと値を追加します。

静的 いいえ
パラメータ
パラメータ デフォルト 説明
$pairs array 必須 カラム名と値の連想配列
返り値 現在のインスタンスを返します。
// insert 文を準備
$query = DB::insert('users');

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

// INSERT INTO `users` (`name`, `surname`, `email`) VALUES ("John", "Doe", "john@doe.com")

compile(\Database_Connection$db)

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

静的 いいえ
パラメータ
パラメータ デフォルト 説明
$db object 必須 データベースコネクション
返り値 SQL クエリの文字列
// insert 文を準備
$query = DB::select('*')->from('users');

// 件数の制限と取得開始位置をセット
$query->limit(10);
$query->offset(5);

// データベースコネクションを取得
$connection = Database_Connection::instance();

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

reset()

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

静的 いいえ
パラメータ なし
返り値 現在のインスタンスを返します。
// insert 文を準備
$query = DB::insert('users');

// いくつかの値をセット
$query->set(array(
	'name' => 'John',
	'surname' => 'Doe',
));

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

// 新しい値をセット
$query->table('admins')->set(array(
	'name' => 'Mark',
	'surname' => 'Handriks'
));

// 現在の SQL クエリはこうなります:
// INSERT INTO `admins` (`name`, `surname`) VALUES ("Mark", "Hendriks")