function views_handler_field_field::get_base_table

Set the base_table and base_table_alias.

Return value

string The base table which is used in the current view "context".

2 calls to views_handler_field_field::get_base_table()
views_handler_field_field::access in modules/field/views_handler_field_field.inc
Check whether current user has access to this handler.
views_handler_field_field::query in modules/field/views_handler_field_field.inc
Called to add the field to a query.

File

modules/field/views_handler_field_field.inc, line 139

Class

views_handler_field_field
A field that displays fieldapi fields.

Code

public function get_base_table() {
    if (!isset($this->base_table)) {
        // This base_table is coming from the entity not the field.
        $this->base_table = $this->view->base_table;
        // If the current field is under a relationship you can't be sure that the
        // base table of the view is the base table of the current field. For
        // example, a field from a node author on a node view does have users as
        // base table.
        if (!empty($this->options['relationship']) && $this->options['relationship'] != 'none') {
            $relationships = $this->view->display_handler
                ->get_option('relationships');
            if (!empty($relationships[$this->options['relationship']])) {
                $options = $relationships[$this->options['relationship']];
                $data = views_fetch_data($options['table']);
                $this->base_table = $data[$options['field']]['relationship']['base'];
            }
        }
    }
    return $this->base_table;
}