Skip to content
Snippets Groups Projects

git commit -m 'Issue #2922066: Duplicate Flagged Nodes in View'

1 file
+ 14
0
Compare changes
  • Side-by-side
  • Inline
+ 14
0
@@ -17,6 +17,8 @@ use Drupal\flag\FlagInterface;
use Drupal\flag\Plugin\Flag\EntityFlagType;
use Drupal\system\Entity\Action;
use Drupal\user\UserInterface;
use Drupal\views\Plugin\views\query\QueryPluginBase;
use Drupal\views\ViewExecutable;
/**
* Implements hook_help().
@@ -654,3 +656,15 @@ function flag_flag_delete(FlagInterface $flag) {
$action->delete();
}
}
/**
* Implements hook_views_query_alter().
*/
function flag_views_query_alter(ViewExecutable $view, QueryPluginBase $query) {
if (!empty($view->relationship) && is_array($view->relationship) && isset($view->relationship['flag_relationship']) && isset($view->field['count'])) {
$base_table = $view->storage->get('base_table');
$base_field = $view->storage->get('base_field');
$query->addField($base_table, $base_field, $base_table . '_' . $base_field, ['function' => 'groupby']);
$query->addGroupBy($base_table . '.' . $base_field);
}
}
Loading