public ViewExecutable::execute($display_id = NULL)
Executes the view's query.
Parameters
string $display_id: The machine name of the display, which should be executed.
Return value
bool TRUE if the view execution was successful, FALSE otherwise. For example, an argument could stop the process.
File
- core/modules/views/src/ViewExecutable.php, line 1376
Class
- ViewExecutable
- Represents a view as a whole.
Namespace
Drupal\views
Code
public function execute($display_id = NULL) { if (empty($this->built)) { if (!$this->build($display_id)) { return FALSE; } } if (!empty($this->executed)) { return TRUE; } // Don't allow to use deactivated displays, but display them on the live preview. if (!$this->display_handler->isEnabled() && empty($this->live_preview)) { $this->build_info['fail'] = TRUE; return FALSE; } // Let modules modify the view just prior to executing it. $module_handler = \Drupal::moduleHandler(); $module_handler->invokeAll('views_pre_execute', array($this)); // Check for already-cached results. /** @var \Drupal\views\Plugin\views\cache\CachePluginBase $cache */ if (!empty($this->live_preview)) { $cache = Views::pluginManager('cache')->createInstance('none'); } else { $cache = $this->display_handler->getPlugin('cache'); } if ($cache->cacheGet('results')) { if ($this->pager->usePager()) { $this->pager->total_items = $this->total_rows; $this->pager->updatePageInfo(); } } else { $this->query->execute($this); // Enforce the array key rule as documented in // views_plugin_query::execute(). $this->result = array_values($this->result); $this->_postExecute(); $cache->cacheSet('results'); } // Let modules modify the view just after executing it. $module_handler->invokeAll('views_post_execute', array($this)); return $this->executed = TRUE; }
Please login to continue.