By default views is using "AND"
/**
* Implements hook_views_query_alter().
*/
function MYMODULE_views_query_alter(ViewExecutable $view, QueryPluginBase $query): void {
// Show input friendship requests and MY output friendship requests.
if ($view->id() === 'MYVIEWS' && $view->current_display === 'page_1') {
$current_user = \Drupal::currentUser()->id();
foreach ($query->where as &$group) {
foreach ($group['conditions'] as $key => $condition) {
if (in_array($condition['field'], ['flagging.entity_id', 'flagging.uid = :flagging_uid'])) {
unset($group['conditions'][$key]);
}
}
}
unset($group);
$or_group = $query->setWhereGroup('OR');
$query->addWhere($or_group, 'flagging.entity_id', $current_user, '=');
$query->addWhere($or_group, 'flagging.uid', $current_user, '=');
}
}