2024 年日本 PHP 研討會

Collection::modify

(沒有版本資訊,可能只在 Git 中)

Collection::modify修改集合文件

說明

public mysql_xdevapi\Collection::modify(字串 $search_condition): mysql_xdevapi\CollectionModify

修改符合特定搜尋條件的集合文件。允許多個操作,並支援參數綁定。

參數

search_condition

必須是有效的 SQL 運算式,用於比對要修改的文件。這個運算式可以像 true 一樣簡單,它會比對所有文件,或者它可以使用函數和運算符,例如 'CAST(_id AS SIGNED) >= 10''age MOD 2 = 0 OR age MOD 3 = 0''_id IN ["2","5","7","10"]'

回傳值

如果作業未執行,則函數會回傳一個 Modify 物件,可用於新增其他修改作業。

如果修改作業已執行,則回傳的物件將包含作業的結果。

範例

範例 #1 mysql_xdevapi\Collection::modify() 範例

<?php
$session
= mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$collection->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$collection->add('{"name": "Bob", "age": 19, "job": "Painter"}')->execute();

// 為所有 Painter 新增兩個新的職業:Artist 和 Crafter
$collection
->modify("job in ('Butler', 'Painter')")
->
arrayAppend('job', 'Artist')
->
arrayAppend('job', 'Crafter')
->
execute();

// 從所有年齡小於 21 歲的文件中移除 'beer' 欄位
$collection
->modify('age < 21')
->
unset(['beer'])
->
execute();
?>
新增筆記

使用者貢獻的筆記

此頁面尚無使用者貢獻的筆記。
To Top