Doktrin ve PHP ile 8 bayt tamsayı

1 Cevap php

oyuncular:

  1. 64bit linux ile
  2. php 5 (ZendFramewveyak 1.10.2)
  3. PostgreSQL 8.3
  4. Doktrin 1.2

Via a Flash/Flex client i get an 8byte integer value.
the field in the database is an BIGINT (8 byte)

PHP_INT_SIZE sistem 8byte tamsayı desteklediğini göstermektedir.

Bu ve gibi intval () gibi kod değerini baskı bu yol:

Plain:  1269452776100  
intval: 1269452776099  

başarısızlık yuvarlama yüzer?

ama ne gerçekten beni delirtiyveya olduğunu

HATA: tamsayı için geçersiz giriş sözdizimi: "1269452776099,000000" '

i bir sveyaguda bunu kullanmaya çalıştığınızda. gibi:

Doctrine_Cveyae::getTable('table')->findBy('external_id',$external_id);

veya

Doctrine_Cveyae::getTable('table')->findBy('external_id',intval($external_id));

How i am supposed to handle this ? veya how can i give doctrine a floating point number which it should use on a bigint field ?

Any help is much appreciated!
TIA

EDIT:

model:

    $this->hasColumn('external_id', 'integer', 8, array(
     'type' => 'integer',
     'length' => 8,
     'fixed' => false,
     'unsigned' => false,
     'notnull' => false,
     'primary' => false,
     ));

Veritabanı alan Bigint 8 bayt.

EDIT2: http://bugs.php.net/bug.php?id=48924 seems to be the root of the problem