Query_Builder_Update 类別

(擴充 Query_Builder_Where

Query_Builder_Update 类別为查詢建立程序处理所有 update 操作,它擴充 Query_Builder_Where 类別,所以所有方法都繼承。

table($table)

table 方法設定/改變要更新的資料表。

靜態
參数
參数 类型 預設 描述
$table 字串 必要 資料表名稱
回傳 回傳目前實例。
範例
// 預处理一个 update 語句
$query = DB::update('users');

// 設定要更新的資料表
$query->table('admins');

// UPDATE `admins` ...

value($column, $value)

value 方法設定要更新的行和值。

靜態
參数
參数 类型 預設 描述
$column 字串 必要 要更新的行
$value 混合 必要 新值
回傳 回傳目前實例。
範例
// 預处理一个 update 語句
$query = DB::update('users');

// 設定行
$query->value('name', 'Frank');

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

set(array $pairs)

set 方法設定行并附加要更新的值。

靜態
參数
參数 类型 預設 描述
$pairs 陣列 必要 行和值的關聯陣列
回傳 回傳目前實例。
範例
// 預处理一个 update 語句
$query = DB::update('users');

// 設定行和值
$query->set(array(
	'name' => 'John',
	'surname' => 'Doe',
));

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

compile(\Database_Connection$db)

compile 方法回傳 update SQL 查詢做为一个字串。

靜態
參数
參数 类型 預設 描述
$db 物件 必要 一个資料庫連線
回傳 回傳 SQL 查詢做为一个字串。
範例
// 預处理一个 update 語句
$query = DB::update('users');

// 設定兩个值
$query->set(array(
	'name' => 'Bert',
	'surname' => 'Klaassen',
));

// 取得資料庫連線
$connection = Database_Connection::instance();

// 取得 SQL 查詢
$sql = $query->compile($connection);

reset()

reset 方法重置目前實例的所有值。

靜態
參数
回傳 回傳目前實例。
範例
// 預处理一个 update 語句
$query = DB::update('users');

// 設定兩个值
$query->set(array(
	'name' => 'Bert',
	'surname' => 'Klaassen',
));

// 重置它
$query->reset();

// 設定一个
$query->value('name', 'Hank');

// 取得資料庫連線
$connection = Database_Connection::instance();

// 取得 SQL 查詢
$sql = $query->compile($connection);

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

join($table, $type = null)

join 方法附加要組合的資料表。

靜態
參数
參数 类型 預設 描述
$table 混合 必要 資料表名稱或 array($table, $alias)
$type 混合
true
組合类型(LEFT、RIGHT、INNER、等等)
回傳 回傳目前實例。
範例 請看这裡的範例

on($c1, $op, $c2)

on 方法为最後建立的 JOIN 語句添加 "ON ..." 條件。

靜態
參数
參数 类型 預設 描述
$c1 混合 必要 資料表名稱或 array($table, $alias)
$op 字串 必要 邏輯運算子
$c2 混合 必要 資料表名稱或 array($table, $alias)
回傳 回傳目前實例。
範例
// 預处理一个 update 語句
$query = DB::update('users');

// 組合一張資料表
$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`