(没有可用版本信息,可能只在 Git 中)
Schema::createCollection — 向模式添加集合
$name
, string $validate
= ?): mysql_xdevapi\Collection在模式中创建集合。
name
集合名称。
validate
验证定义,作为 JSON 对象。
Collection 对象。
版本 | 描述 |
---|---|
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"]
}
}
}');
// 成功
$collection->add('{"latitude": 10, "longitude": 20}')->execute();
// 失败,无效类型(不是数字)
$collection->add('{"latitude": "lat", "longitude": "long"}')->execute();