function nodequeue_handler_relationship_nodequeue::query in Nodequeue 7.3
Same name and namespace in other branches
- 6.2 includes/views/nodequeue_handler_relationship_nodequeue.inc \nodequeue_handler_relationship_nodequeue::query()
- 7.2 includes/views/nodequeue_handler_relationship_nodequeue.inc \nodequeue_handler_relationship_nodequeue::query()
Called to implement a relationship in a query.
Overrides views_handler_relationship::query
File
- includes/
views/ nodequeue_handler_relationship_nodequeue.inc, line 71 - Specialized relationship handler to add nodequeues.
Class
- nodequeue_handler_relationship_nodequeue
- @file Specialized relationship handler to add nodequeues.
Code
function query() {
// Figure out what base table this relationship brings to the party.
$join = new views_join();
$join->definition = array(
'table' => 'nodequeue_nodes',
'field' => 'nid',
'left_table' => 'node',
'left_field' => 'nid',
);
if (!empty($this->options['required'])) {
$join->definition['type'] = 'INNER';
}
if (!empty($this->options['limit'])) {
$queues = array_keys(array_filter($this->options['queues']));
$join->definition['extra'] = array(
array(
'field' => 'name',
'value' => $queues,
),
);
}
$join
->construct();
$alias = $join->definition['table'] . '_' . $join->definition['left_table'];
$this->alias = $this->query
->add_relationship($alias, $join, 'nodequeue_nodes', $this->relationship);
}