Schema::createCollection

(No version information available, might only be in Git)

Schema::createCollectionДобавить коллекцию в схему

Описание

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

Создать коллекцию внутри схемы.

Список параметров

name

Имя коллекции.

validate

Определение проверки в виде объекта JSON.

Возвращаемые значения

Объект коллекции.

Список изменений

Версия Описание
8.0.20 Добавлен необязательный параметр validate.

Примеры

Пример #1 Пример использования mysql_xdevapi\Schema::getCollection()

<?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 с параметром validate

<?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"]
        }
    }
}'
);
// Успешное выполнение
$collection->add('{"latitude": 10, "longitude": 20}')->execute();
// Ошибка, недопустимые типы (не числа)
$collection->add('{"latitude": "lat", "longitude": "long"}')->execute();
add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top