Cakephp consulta retorna sempre -1
Estou desenvolvendo uma aplicação utilizando o cakephp 3.0.
O problema ocorre porque tem uma consulta SELECT que retorna, na função rowCount do pdo, sempre -1. Então o cake dá um erro,
porque a consulta não pode retornar valor menor do que zero.
array size cannot be less than zero
O banco de dados que estou utilizando é o SQL Server 2008.
Fiz um pequeno teste, utilizando somente o PDO, e verifiquei que o retorno do rowCount no pdo, nesse banco, está sempre retornando -1.
Segue o exemplo:
$conn = new PDO("dblib:host={HOST};dbname={DB}","{USER}","{PASSWORD}");
$sql = "select * from pessoas";
$stmt = $conn->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
$stmt->execute();
echo $stmt->rowCount(); // return -1
Esse mesmo código, usando o banco de dados MySQL, traz como resultado o número de linhas da consulta, já executando com o SQL Server
o retorno sempre é -1. Li em alguns fóruns para utilizar a função count do php sobre o fetch da consulta. Mas essa solução não iria
funcionar pois estou utilizando o cake como framework e ele utiliza internamente a função rowCount.
Alguém já passou por algum problema parecido e poderia me orientar se existe alguma solução para esse caso?
obs: o cake utiliza o driver sqlsrv ao invés do dblib mas nos dois ocorre o mesmo problemaDiscussão (5)
Carregando comentários...