(No version information available, might only be in Git)
Schema::createCollection — スキーマにコレクションを追加する
スキーマ内にコレクションを作成します。
この関数は、 現在のところ詳細な情報はありません。引数のリストのみが 記述されています。
nameコレクションの名前。
validateバリデーションの定義を JSON オブジェクトとして指定します。
コレクションオブジェクトを返します。
| バージョン | 説明 | 
|---|---|
| 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": "http://json-schema.org/geo",
 "description": "A geographical coordinate",
 "type": "object",
 "properties": {
 "latitude": {
 "type": "number"
 },
 "longitude": {
 "type": "number"
 }
 },
 "required": ["latitude", "longitude"]
 }
 }
}');
// Succeeds
$collection->add('{"latitude": 10, "longitude": 20}')->execute();
// Fails, invalid types (not numbers)
$collection->add('{"latitude": "lat", "longitude": "long"}')->execute();