, types: list} */ public function toSql(FetchQueryInterface $query): array { $sql = strtr(self::SQL, [ '{{ key }}' => $query->getSelectKeyString(), '{{ identifiers }}' => $query->getSelectIdentifierJsonB(), '{{ date }}' => $query->getSelectDate(), '{{ from }}' => $query->getFromQuery(), '{{ where }}' => '' === ($w = $query->getWhereQuery()) ? '' : 'WHERE ' . $w, ]); $params = [ ...$query->getSelectIdentifierParams(), ...$query->getSelectDateParams(), ...$query->getFromQueryParams(), ...$query->getWhereQueryParams() ]; $types = [ ...$query->getSelectIdentifiersTypes(), ...$query->getSelectDateTypes(), ...$query->getFromQueryTypes(), ...$query->getWhereQueryTypes(), ]; return ['sql' => $sql, 'params' => $params, 'types' => $types]; } }