Reference documentation and code samples for the Cloud Spanner Client class ArrayType.
Represents a Spanner SQL Query array type declaration.
Array types may usually be inferred. Types are only required if the array is nullable, or if it contains structs.
Example:
use Google\Cloud\Spanner\ArrayType;
use Google\Cloud\Spanner\Database;
use Google\Cloud\Spanner\SpannerClient;
$spanner = new SpannerClient();
$database = $spanner->connect('my-instance', 'my-database');
$arrayType = new ArrayType(Database::TYPE_STRING);
$res = $database->execute('SELECT @arrayParam as arrayValue', [
'parameters' => [
'arrayParam' => ['foo', 'bar', null]
],
'types' => [
'arrayParam' => $arrayType
]
])->rows()->current();
$firstValue = $res['arrayValue'][0]; // `foo`
// Arrays may contain structs.
use Google\Cloud\Spanner\ArrayType;
use Google\Cloud\Spanner\Database;
use Google\Cloud\Spanner\StructType;
$arrayType = new ArrayType(
(new StructType)
->add('companyName', Database::TYPE_STRING)
->add('companyId', Database::TYPE_INT64)
);
Methods
__construct
Parameter | |
---|---|
Name | Description |
type |
int|string|null|Google\Cloud\Spanner\StructType
A value type code or nested struct definition. Accepted integer and string values are defined as constants on {@see}, and are as follows: |
type
Get the array value type.
Returns | |
---|---|
Type | Description |
int|string|null |
structType
Get the nested struct parameter type.
Returns | |
---|---|
Type | Description |
Google\Cloud\Spanner\StructType|null |