2

I'm using PHP 7.2.12 and PostgreSQL 9.5.5 and Lumen 7 when i execute a query with query builder, Lumen give me numeric column as string.

Table: 
 id: bigint 


{
  id: "1"
}

i have searched for and there is answer for MySQL but that does not work for PostgreSQL.

my co-worker does not have this problem in Linux. but i use windows 10 and i don't know what configuration have to set to fix this issue.

Mahdi Aslami Khavari
  • 1,755
  • 15
  • 23
  • I have check and i see this problem is for only columns with bigint type. – Mahdi Aslami Khavari Apr 07 '20 at 06:35
  • It is very likely the underlying driver returns the data as text, see https://stackoverflow.com/questions/31643297/pg-query-result-contains-strings-instead-of-integer-numeric/31740990#31740990 – greg Apr 16 '20 at 10:14

1 Answers1

0

I searched a lot i found this problem is because of php does not support bigint in 32bit machine if your machine is x64 so you should check is your php x64 too or not: you can check it by following script:

echo (PHP_INT_SIZE === 8) ? "64 bit " : "32 bit ";

this problem is not PDO issue and you cann't solve it with changing PDO options it's because of pgsql driver. pgsql return bigint as string if the used language doesn't have any type for bigint.

Mahdi Aslami Khavari
  • 1,755
  • 15
  • 23