Schema::createCollection

(사용 가능한 버전 정보가 없으며 Git에만 있을 수 있음)

Schema::createCollection — 스키마에 컬렉션 추가


설명

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

스키마 내에서 컬렉션을 만듭니다.


매개변수

name
Collection name.
validate
JSON 개체로서의 유효성 검사 정의.

반환 값

컬렉션 개체입니다.


변경 로그

버전설명
8.0.20선택적 유효성 검사 매개변수를 추가했습니다.

Examples

예제 #1 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 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();