Set document field filter

- « CollectionFind::execute

- CollectionFind::groupBy »

- PHP Manual
- mysql_xdevapi\CollectionFind
- Set document field filter

# CollectionFind::fields

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

CollectionFind::fields — Set document field filter

### Description

public mysql_xdevapi\CollectionFind::fields(string `$projection`): mysql_xdevapi\CollectionFind

Defines the columns for the query to return. If not defined, all columns are used.

### Parameters

`projection`

  Can either be a single string or an array of strings identifying the columns to be returned for each document that match the search condition.

### Return Values

A CollectionFind object that can be used for further processing.

### Examples

Example #1 mysql_xdevapi\CollectionFind::fields() example

    <?php
    $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

    $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
    $session->sql("CREATE DATABASE addressbook")->execute();

    $schema = $session->getSchema("addressbook");
    $create = $schema->createCollection("people");

    $create
      ->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
      ->execute();

    // ...

    $collection = $schema->getCollection("people");

    $result = $collection
      ->find('job like :job and age > :age')
      ->bind(['job' => 'Butler', 'age' => 16])
      ->fields('name')
      ->execute();

    var_dump($result->fetchAll());
    ?>

The above example will output something similar to:

    array(1) {
      [0]=>
      array(1) {
        ["name"]=>
        string(6) "Alfred"
      }
    }