FriendsOfDoctrine / dbal-clickhouse

Doctrine DBAL driver for ClickHouse database
GNU General Public License v3.0
98 stars 80 forks source link

Support request: SELECT * WHERE foo IN :bar #26

Open politsin opened 5 years ago

politsin commented 5 years ago

Не могу понять как работь с IN Пробовал разные варианты отсюда https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/data-retrieval-and-manipulation.html получаю всегда Notice: Array to string conversion in FOD\DBALClickHouse\ClickHouseStatement->getTypedParam() (line 390 of vendor/friendsofdoctrine/dbal-clickhouse/src/ClickHouseStatement.php).

FOD\DBALClickHouse\ClickHouseStatement->getTypedParam('bar') (Line: 296)
FOD\DBALClickHouse\ClickHouseStatement->execute(NULL) (Line: 153)
Doctrine\DBAL\Statement->execute() (Line: 75)

Приме кода:

<?php
$bar = [1, 2, 3];
$query = $conn->prepare('SELECT **** WHERE foo IN :bar');
$query->bindValue('bar', $bar);
koderoff commented 5 years ago

@politsin $bar = [1, 2, 3]; $result = $conn->fetchAll('SELECT **** WHERE foo IN (:bar)', ['bar' => $bar], ['bar' => \Doctrine\DBAL\Connection::PARAM_INT_ARRAY);