PHP 8.4.1 Released!

Schema::createCollection

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

Schema::createCollectionFügt einem Schema eine Sammlung hinzu

Beschreibung

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

Erzeugt eine Sammlung innerhalb des Schemas.

Parameter-Liste

name

Der Name der Sammlung

validate

Die Definition der Validierung in Form eines JSON-Objekts

Rückgabewerte

Gibt ein Collection-Objekt zurück.

Changelog

Version Beschreibung
8.0.20 Der optionale Parameter validate wurde hinzugefügt.

Beispiele

Beispiel #1 mysql_xdevapi\Schema::createCollection()-Beispiel

<?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());

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

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

Beispiel #2 Beispiel für die Verwendung von mysql_xdevapi\Schema::createCollection() mit Validierungsparameter

<?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"]
}
}
}'
);
// Wird erfolgreich ausgeführt
$collection->add('{"latitude": 10, "longitude": 20}')->execute();

// Schlägt fehl, ungültige Typen (keine Zahlen)
$collection->add('{"latitude": "lat", "longitude": "long"}')->execute();
add a note

User Contributed Notes

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