PHP Conference Japan 2024

Schema::createCollection

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

Schema::createCollection新增集合至結構描述

描述

public mysql_xdevapi\Schema::createCollection(字串 $name, 字串 $validate = ?): mysql_xdevapi\Collection

在結構描述中建立集合。

參數

name

集合名稱。

validate

驗證定義,以 JSON 物件表示。

回傳值

Collection 物件。

更新日誌

版本 描述
8.0.20 新增了可選的 validate 參數。

範例

範例 #1 mysql_xdevapi\Schema::createCollection() 範例

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

$session->sql("DROP DATABASE IF EXISTS food")->execute();
$session->sql("CREATE DATABASE food")->execute();
$session->sql("CREATE TABLE food.fruit(name text, rating text)")->execute();

$schema = $session->getSchema("food");
$schema->createCollection("trees");

print_r($schema->getTables());
print_r($schema->getCollections());

上述範例將輸出類似以下的內容

Array
(
    [fruit] => mysql_xdevapi\Table Object
        (
            [name] => fruit
        )
)
Array
(
    [trees] => mysql_xdevapi\Collection Object
        (
            [name] => trees
        )
)

範例 #2 mysql_xdevapi\Schema::createCollection() 範例

<?php
$collection
= $schema->createCollection("mycollection", '{
"validation": {
"level": "strict",
"schema": {
"id": "https://json-schema.dev.org.tw/geo",
"description": "地理座標",
"type": "object",
"properties": {
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
}
},
"required": ["latitude", "longitude"]
}
}
}'
);
// 成功
$collection->add('{"latitude": 10, "longitude": 20}')->execute();

// 失敗,類型無效(非數字)
$collection->add('{"latitude": "lat", "longitude": "long"}')->execute();
新增註釋

使用者貢獻的註釋

此頁面沒有使用者貢獻的註釋。
To Top