Cloud Datastore Client - Class Query (1.24.4)

Reference documentation and code samples for the Cloud Datastore Client class Query.

Represents a Cloud Datastore Query

Queries can be created either by using the builder pattern, or by providing a Query when creating this object.

Example:

 use Google\Cloud\Datastore\DatastoreClient;

$datastore = new DatastoreClient();

$query = $datastore->query();
$query->kind('Companies');
$query->filter('companyName', '=', 'Google');

$res = $datastore->runQuery($query);
foreach ($res as $company) {
    echo $company['companyName']; // Google
} 
 // Queries can also be constructed using a
// [Query Object](https://cloud.google.com/datastore/reference/rest/v1/projects/runQuery#query):
$query = $datastore->query([
    'query' => [
        'kind' => [
            [
                'name' => 'Companies'
            ]
        ],
        'filter' => [
            'propertyFilter' => [
                'op' => 'EQUAL',
                'property' => [
                    'name' => 'companyName'
                ],
                'value' => [
                    'stringValue' => 'Google'
                ]
            ]
        ]
    ]
]); 

Namespace

Google \ Cloud \ Datastore \ Query

Methods

__construct

Parameters
Name
Description
entityMapper
Google\Cloud\Datastore\EntityMapper

An instance of EntityMapper

projection

Set the Query Projection.

Accepts an array of properties. If set, only these properties will be returned.

Example:

 $query->projection(['firstName', 'lastName']); 
Parameter
Name
Description
properties
array|string

The property or properties to include in the result.

Returns
Type
Description

keysOnly

Set the query to return only keys (no properties).

Example:

 $query->keysOnly(); 
Returns
Type
Description

kind

Set the Kind to query.

If empty, returns entities of all kinds. Must be set in order to filter results. While you may supply as many kinds as you wish, datastore currently only accepts one at a time.

Example:

 $query->kind('Person'); 
Parameter
Name
Description
kinds
array|string

The kind or kinds to return. Only a single kind is currently supported.

Returns
Type
Description

filter

See also:

Parameters
Name
Description
filterOrProperty
string|array

Either a string property name or an array representation of Property/Composite filter returned by Filter::and(), Filter::or() and Filter::where().

operator
string|null

[optional] The operator to use in the filter if property name is used in the first argument. A list of allowed operators may be found here . Short comparison operators are provided for convenience and are mapped to their datastore-compatible equivalents. Available short operators are = , != , < , <= , > , >= , IN and NOT IN .

value
mixed

[optional] The value to check if property name is used in the first argument.

Returns
Type
Description

hasAncestor

Query for entities by their ancestors.

Keys can be provided either via a Google\Cloud\Datastore\Key object, or by providing a kind, identifier and (optionally) an identifier type.

Example:

 $key = $datastore->key('Person', 'Bob');
$query->hasAncestor($key); 
 // Specifying an identifier type
$key = $datastore->key('Robots', '1337', [
    'identifierType' => Key::TYPE_NAME
]);
$query->hasAncestor($key); 
Parameter
Name
Description
key
Google\Cloud\Datastore\Key

The ancestor Key instance.

Returns
Type
Description

order

See also:

Parameters
Name
Description
property
string

The property to order by.

direction
string

[optional] The direction to order in. Google Cloud PHP provides class constants which map to allowed Datastore values. Those constants are Query::ORDER_DESCENDING and Query::ORDER_ASCENDING . Defaults to Query::ORDER_ACENDING .

Returns
Type
Description

distinctOn

The properties to make distinct.

The query results will contain the first result for each distinct combination of values for the given properties (if empty, all results are returned).

Example:

 $query->distinctOn('lastName'); 
Parameter
Name
Description
property
array|string

The property or properties to make distinct.

Returns
Type
Description

start

Parameter
Name
Description
cursor
string

The cursor on which to start the result.

Returns
Type
Description

end

Parameter
Name
Description
cursor
string

The cursor on which to end the result.

Returns
Type
Description

offset

Parameter
Name
Description
num
int

The number of results to skip.

Returns
Type
Description

limit

Parameter
Name
Description
num
int

The number of results to return.

Returns
Type
Description

canPaginate

Indicate that this type does support automatic pagination.

Returns
Type
Description
bool

queryObject

Return a service-compliant array.

Returns
Type
Description
array

queryKey

Return the query_type union field name.

Returns
Type
Description
string

aggregation

Parameter
Name
Description

jsonSerialize

Constants

OP_DEFAULT

  Value: self::OP_EQUALS 
 

OP_LESS_THAN

  Value: 'LESS_THAN' 
 

OP_LESS_THAN_OR_EQUAL

  Value: 'LESS_THAN_OR_EQUAL' 
 

OP_GREATER_THAN

  Value: 'GREATER_THAN' 
 

OP_GREATER_THAN_OR_EQUAL

  Value: 'GREATER_THAN_OR_EQUAL' 
 

OP_EQUALS

  Value: 'EQUAL' 
 

OP_NOT_EQUALS

  Value: 'NOT_EQUAL' 
 

OP_IN

  Value: 'IN' 
 

OP_NOT_IN

  Value: 'NOT_IN' 
 

OP_HAS_ANCESTOR

  Value: 'HAS_ANCESTOR' 
 

ORDER_DEFAULT

  Value: self::ORDER_ASCENDING 
 

ORDER_DESCENDING

  Value: 'DESCENDING' 
 

ORDER_ASCENDING

  Value: 'ASCENDING' 
 
Design a Mobile Site
View Site in Mobile | Classic
Share by: