Details
Description
I have a problem when I get database records through a query DQL
and then they are changed by another application
If I repeat the query, Doctrine always return the first value, not the current value of the base
<?php // bootstrap $cache = new \Doctrine\Common\Cache\ArrayCache(); $config = new Doctrine\ORM\Configuration(); $config->setQueryCacheImpl($cache); $conn = array( 'dbname' => $database_name, 'user' => $cnx_user, 'password' => $cnx_pass, 'host' => $cnx_host, 'driver' => $cnx_type, 'charset' => 'utf8', 'driverOptions' => array( 1002 => "SET NAMES 'utf8'" ) ); $em = Doctrine\ORM\EntityManager::create($conn, $config);
while(true){ $dql = "SELECT s from Register s WHERE s.id = 1"; $query = $em->createQuery($dql); // the next line is optional, produces same result $query->useResultCache(false); $res = $query->getResult(); $orm = reset($res); echo " regiter id :".$orm->getId()." field "$orm->getText()."\n"; }
I run this code in a terminal, and then edit the registry (field text), but the terminal still shows the same result