php - Why is Symfony/Doctrine query giving me a different answer to debugged query with CURRENT_TIMESTAMP()? -


my deleted record not being filtered out.

the doctrine querybuilder expression is:

  $q = $this->createquerybuilder('duty')     ->select(array('duty'))     ->where('duty.validfrom < current_timestamp() , (duty.deleted null or duty.deleted > current_timestamp())')     ->orderby('duty.rank', 'asc')     ->addorderby('duty.validfrom', 'desc')     ->getquery(); 

i 6 results (value of 1 has deleted half hour ago.

i grab debugger , evaluate $q->getsql(). gives me:

select e0_.id id_0, e0_.name name_1, e0_.rank rank_2, e0_.rate rate_3, e0_.validfrom validfrom_4, e0_.deleted deleted_5, e0_.created created_6, e0_.updated updated_7  employmentduty e0_  e0_.validfrom < current_timestamp  , (e0_.deleted null or e0_.deleted > current_timestamp)  order e0_.rank asc, e0_.validfrom desc 

which run directly against postgres , 5 results deleted item filtered out.

the timezone php 'australia/sydney', postgres timezone (show timezone) set etc/gmt-10.

i set timezone = 'australia/sydney' in postgresql.conf timezone matches php setting. application has 1 timezone, fine.

the date of course set using ->setdeleted(new datetime()) uses php concept of now, whereas query done current_timestamp reason incongruence.


Comments

Popular posts from this blog

how to insert data php javascript mysql with multiple array session 2 -

multithreading - Exception in Application constructor -

windows - CertCreateCertificateContext returns CRYPT_E_ASN1_BADTAG / 8009310b -