(No version information available, might only be in Git)
Schema::createCollection — Add collection to schema
$name, string $validate = ?): mysql_xdevapi\CollectionCreate a collection within the schema.
nameCollection name.
validateValidation definition, as a JSON object.
The Collection object.
| Version | Description |
|---|---|
| 8.0.20 | Added the optional validate parameter. |
Example #1 Schema::createCollection example
<?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());The above example will output something similar to:
Array
(
[fruit] => mysql_xdevapi\Table Object
(
[name] => fruit
)
)
Array
(
[trees] => mysql_xdevapi\Collection Object
(
[name] => trees
)
)
Example #2 Schema::createCollection validate parameter example
<?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();