Simple relationship handler that allows a new version of the primary table to be linked in.

The base relationship handler can only handle a single join. Some relationships are more complex and might require chains of joins; for those, you must utilize a custom relationship handler.

Definition items:

  • base: The new base table this relationship will be adding. This does not have to be a declared base table, but if there are no tables that utilize this base table, it won't be very effective.
  • base field: The field to use in the relationship; if left out this will be assumed to be the primary field.
  • relationship table: The actual table this relationship operates against. This is analogous to using a 'table' override.
  • relationship field: The actual field this relationship operates against. This is analogous to using a 'real field' override.
  • label: The default label to provide for this relationship, which is shown in parentheses next to any field/sort/filter/argument that uses the relationship.

Hierarchy

Expanded class hierarchy of views_handler_relationship

Related topics

File

core/modules/views/handlers/views_handler_relationship.inc, line 37
Views' relationship handlers.

Members

Contains filters are case sensitive
Namesort descending Modifiers Type Description
views_handler::$table public property The Views name of the table on which this handler effects.
views_handler::$table_alias public property The alias of the table of this handler which is used in the query.
views_handler::accept_exposed_input function Take input from exposed handlers and assign to this handler, if necessary.
views_handler::access function Check whether current user has access to this handler.
views_handler::admin_summary function Provide text for the administrative summary
views_handler::broken function Determine if the handler is considered 'broken', meaning it's a a placeholder used when a handler can't be found.
views_handler::can_expose function Determine if a handler can be exposed.
views_handler::case_transform function Transform a string by a certain method.
views_handler::ensure_my_table function Ensure the main table for this handler is in the query. This is used a lot.
views_handler::exposed_form function Render our chunk of the exposed handler form when selecting
views_handler::exposed_info function Get information about the exposed form for the form renderer.
views_handler::exposed_submit function Submit the exposed handler form
views_handler::exposed_validate function Validate the exposed handler form
views_handler::expose_form function Form for exposed handler options.
views_handler::expose_options function Set new exposed option defaults when exposed setting is flipped on.
views_handler::expose_submit function Perform any necessary changes to the form exposes prior to storage. There is no need for this function to actually store the data.
views_handler::expose_validate function Validate the options form.
views_handler::extra_options function Provide defaults for the handler.
views_handler::extra_options_form function Provide a form for setting options.
views_handler::extra_options_submit function Perform any necessary changes to the form values prior to storage. There is no need for this function to actually store the data.
views_handler::extra_options_validate function Validate the options form.
views_handler::get_field function Shortcut to get a handler's raw field value.
views_handler::get_join function Get the join object that should be used for this handler.
views_handler::groupby_form function Provide a form for aggregation settings.
views_handler::groupby_form_submit function Perform any necessary changes to the form values prior to storage. There is no need for this function to actually store the data.
views_handler::has_extra_options function If a handler has 'extra options' it will get a little settings widget and another form called extra_options.
views_handler::is_a_group function Returns TRUE if the exposed filter works like a grouped filter.
views_handler::is_exposed function Determine if this item is 'exposed', meaning it provides form elements to let users modify the view.
views_handler::multiple_exposed_input function Define if the exposed input has to be submitted multiple times. This is TRUE when exposed filters grouped are using checkboxes as widgets.
views_handler::needs_style_plugin function Determine if the argument needs a style plugin.
views_handler::options_submit function Perform any necessary changes to the form values prior to storage. There is no need for this function to actually store the data.
views_handler::options_validate function Validate the options form.
views_handler::placeholder function Provides a unique placeholders for handlers.
views_handler::post_execute function Run after the view is executed, before the result is cached.
views_handler::pre_query function Run before the view is built.
views_handler::sanitize_value function Sanitize the value for output.
views_handler::set_relationship function Called just prior to query(), this lets a handler set up any relationship it needs.
views_handler::show_expose_button function Shortcut to display the expose/hide button.
views_handler::show_expose_form function Shortcut to display the exposed options form.
views_handler::store_exposed_input function If set to remember exposed input in the session, store it there.
views_handler::ui_name function Return a string representing this handler's name in the UI.
views_handler::validate function Validates the handler against the complete View.
views_handler_relationship::init function Init handler to let relationships live on tables other than the table they operate on. Overrides views_handler::init
views_handler_relationship::label function Get this field's label.
views_handler_relationship::options_form function Default options form that provides the label widget that all fields should have. Overrides views_handler::options_form
views_handler_relationship::option_definition function Information about options for all kinds of purposes will be held here. @code 'option_name' => array( Overrides views_handler::option_definition
views_handler_relationship::query function Called to implement a relationship in a query.
views_handler_relationship::use_group_by function You can't groupby a relationship. Overrides views_handler::use_group_by
views_object::construct function Views handlers use a special construct function so that we can more easily construct them with variable arguments.
views_object::destroy function
views_object::options Deprecated function Set default options on this object. Called by the constructor in a complex chain to deal with backward compatibility.
views_object::set_default_options function Set default options. For backward compatibility, it sends the options array; this is a feature that will likely disappear at some point.
views_object::set_definition function Let the handler know what its full definition is.
views_object::unpack_options function Unpack options over our existing defaults, drilling down into arrays so that defaults don't get totally blown away.
views_object::unpack_translatable public function Unpack a single option definition.
views_object::unpack_translatables public function Unpacks each handler to store translatable texts.
views_object::_set_option_defaults function