public function SelectQuery::fields

Add multiple fields from the same table to be SELECTed.

This method does not return the aliases set for the passed fields. In the majority of cases that is not a problem, as the alias will be the field name. However, if you do need to know the alias you can call getFields() and examine the result to determine what alias was created. Alternatively, simply use addField() for the few fields you care about and this method for the rest.

Parameters

$table_alias: The name of the table from which the field comes, as an alias. Generally you will want to use the return value of join() here to ensure that it is valid.

$fields: An indexed array of fields present in the specified table that should be included in this query. If not specified, $table_alias.* will be generated without any aliases.

Return value

SelectQueryInterface The called object.

Overrides SelectQueryInterface::fields

File

drupal/includes/database/select.inc, line 1316

Class

SelectQuery
Query builder for SELECT statements.

Code

public function fields($table_alias, array $fields = array()) {
  if ($fields) {
    foreach ($fields as $field) {

      // We don't care what alias was assigned.
      $this
        ->addField($table_alias, $field);
    }
  }
  else {

    // We want all fields from this table.
    $this->tables[$table_alias]['all_fields'] = TRUE;
  }
  return $this;
}