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`
|