Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0 / 0 |
|
100.00% |
0 / 0 |
CRAP | |
100.00% |
0 / 0 |
<?php | |
/** | |
* @file | |
* Contains \Drupal\Core\Entity\Sql\TableMappingInterface. | |
*/ | |
namespace Drupal\Core\Entity\Sql; | |
use Drupal\Core\Field\FieldStorageDefinitionInterface; | |
/** | |
* Provides a common interface for mapping field columns to SQL tables. | |
* | |
* Warning: using methods provided here should be done only when writing code | |
* that is explicitly targeting a SQL-based entity storage. Typically this API | |
* is used by SQL storage classes, or other SQL-specific code like the Views | |
* integration code for the Entity SQL storage. Another example of legal usage | |
* of this API is when needing to write a query that \Drupal::entityQuery() does | |
* not support. Always retrieve entity identifiers and use them to load entities | |
* instead of accessing data stored in the database directly. Any other usage | |
* circumvents the entity system and is strongly discouraged, at least when | |
* writing contributed code. | |
*/ | |
interface TableMappingInterface { | |
/** | |
* Gets a list of table names for this mapping. | |
* | |
* @return string[] | |
* An array of table names. | |
*/ | |
public function getTableNames(); | |
/** | |
* Gets a list of all database columns for a given table. | |
* | |
* @param string $table_name | |
* The name of the table to return the columns for. | |
* | |
* @return string[] | |
* An array of database column names for this table. Both field columns and | |
* extra columns are returned. | |
*/ | |
public function getAllColumns($table_name); | |
/** | |
* Gets a list of names of fields stored in the specified table. | |
* | |
* @param string $table_name | |
* The name of the table to return the field names for. | |
* | |
* @return string[] | |
* An array of field names for the given table. | |
*/ | |
public function getFieldNames($table_name); | |
/** | |
* Gets a mapping of field columns to database columns for a given field. | |
* | |
* @param string $field_name | |
* The name of the entity field to return the column mapping for. | |
* | |
* @return string[] | |
* The keys of this array are the keys of the array returned by | |
* FieldStorageDefinitionInterface::getColumns() while the respective values | |
* are the names of the database columns for this table mapping. | |
*/ | |
public function getColumnNames($field_name); | |
/** | |
* Gets a list of extra database columns, which store denormalized data. | |
* | |
* These database columns do not belong to any entity fields. Any normalized | |
* data that is stored should be associated with an entity field. | |
* | |
* @param string $table_name | |
* The name of the table to return the columns for. | |
* | |
* @return string[] | |
* An array of column names for the given table. | |
*/ | |
public function getExtraColumns($table_name); | |
/** | |
* Gets the list of columns that can not be used as field type columns. | |
* | |
* @return array | |
*/ | |
public function getReservedColumns(); | |
/** | |
* Generates a column name for a field property. | |
* | |
* @param \Drupal\Core\Field\FieldStorageDefinitionInterface $storage_definition | |
* The field storage definition. | |
* @param string $property_name | |
* The name of the property. | |
* | |
* @return string | |
* A string containing a generated column name for a field data table that is | |
* unique among all other fields. | |
*/ | |
public function getFieldColumnName(FieldStorageDefinitionInterface $storage_definition, $property_name); | |
/** | |
* Gets the table name for a given column. | |
* | |
* @param string $field_name | |
* The name of the entity field to return the column mapping for. | |
* | |
* @return string | |
* Table name for the given field. | |
* | |
* @throws \Drupal\Core\Entity\Sql\SqlContentEntityStorageException | |
*/ | |
public function getFieldTableName($field_name); | |
} |