function statistics_title_list
Same name in other branches
- 7.x modules/statistics/statistics.module \statistics_title_list()
Returns the most viewed content of all time, today, or the last-viewed node.
Parameters
string $dbfield: The database field to use, one of:
- 'totalcount': Integer that shows the top viewed content of all time.
- 'daycount': Integer that shows the top viewed content for today.
- 'timestamp': Integer that shows only the last viewed node.
int $dbrows: The number of rows to be returned.
Return value
SelectQuery|false A query result containing the node ID, title, user ID that owns the node, and the username for the selected node(s), or FALSE if the query could not be executed correctly.
Deprecated
in drupal:8.6.0 and is removed from drupal:9.0.0. Use \Drupal\statistics\NodeStatisticsDatabaseStorage::fetchAll() instead.
File
-
core/
modules/ statistics/ statistics.module, line 99
Code
function statistics_title_list($dbfield, $dbrows) {
@trigger_error('statistics_title_list() is deprecated in Drupal 8.6.0 and will be removed before Drupal 9.0.0. Use \\Drupal\\statistics\\NodeStatisticsDatabaseStorage::fetchAll() instead.', E_USER_DEPRECATED);
if (in_array($dbfield, [
'totalcount',
'daycount',
'timestamp',
])) {
$query = \Drupal::database()->select('node_field_data', 'n');
$query->addTag('node_access');
$query->join('node_counter', 's', 'n.nid = s.nid');
$query->join('users_field_data', 'u', 'n.uid = u.uid');
return $query->fields('n', [
'nid',
'title',
])
->fields('u', [
'uid',
'name',
])
->condition($dbfield, 0, '<>')
->condition('n.status', 1)
->condition('n.default_langcode', 1)
->condition('u.default_langcode', 1)
->orderBy($dbfield, 'DESC')
->range(0, $dbrows)
->execute();
}
return FALSE;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.