protected function MediaMigrationDatabaseTrait::getUserPictureOnlyFidsQuery in Media Migration 8
Returns the subquery for the user picture-only file IDs.
Parameters
\Drupal\Core\Database\Connection $connection: Database connection of the source Drupal 7 instance.
Return value
\Drupal\Core\Database\Query\SelectInterface The query to get the FIDs of files that are used only as a user picture.
2 calls to MediaMigrationDatabaseTrait::getUserPictureOnlyFidsQuery()
- MediaMigrationDatabaseTrait::getFileEntityBaseQuery in src/Plugin/ migrate/ source/ d7/ MediaMigrationDatabaseTrait.php 
- Returns a base query for file entity types.
- MediaMigrationDatabaseTrait::getFilePlainBaseQuery in src/Plugin/ migrate/ source/ d7/ MediaMigrationDatabaseTrait.php 
- Returns a base query for plain files.
File
- src/Plugin/ migrate/ source/ d7/ MediaMigrationDatabaseTrait.php, line 142 
Class
- MediaMigrationDatabaseTrait
- MediaMigrationDatabaseTrait.
Namespace
Drupal\media_migration\Plugin\migrate\source\d7Code
protected function getUserPictureOnlyFidsQuery(Connection $connection) {
  $query = $connection
    ->select('users', 'u');
  $query
    ->leftJoin('file_usage', 'fu', 'fu.fid = u.picture');
  $query
    ->where('u.picture > 0');
  $query
    ->fields('fu', [
    'fid',
  ]);
  $query
    ->groupBy('fu.fid');
  $concat_expression = $connection instanceof PostgreSqlConnection ? "STRING_AGG(DISTINCT fu.type, ',')" : "GROUP_CONCAT(DISTINCT fu.type)";
  $query
    ->having("{$concat_expression} = :allowed_value_user_only OR {$concat_expression} = :allowed_value_user_webform_only OR {$concat_expression} = :allowed_value_webform_user_only", [
    ':allowed_value_user_only' => 'user',
    ':allowed_value_user_webform_only' => 'user,webform',
    ':allowed_value_webform_user_only' => 'webform,user',
  ]);
  return $query;
}