select( $userQuery['tables'], $userQuery['fields'], [ 'user_id' => array_unique( $ids ) ], __METHOD__, [], $userQuery['joins'] ); return self::newFromResult( $res ); } /** * @since 1.25 * @param array $names * @return UserArrayFromResult|ArrayIterator */ static function newFromNames( $names ) { $names = array_map( 'strval', (array)$names ); // paranoia if ( !$names ) { // Database::select() doesn't like empty arrays return new ArrayIterator( [] ); } $dbr = wfGetDB( DB_REPLICA ); $userQuery = User::getQueryInfo(); $res = $dbr->select( $userQuery['tables'], $userQuery['fields'], [ 'user_name' => array_unique( $names ) ], __METHOD__, [], $userQuery['joins'] ); return self::newFromResult( $res ); } /** * @param IResultWrapper $res * @return UserArrayFromResult */ protected static function newFromResult_internal( $res ) { return new UserArrayFromResult( $res ); } }