Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony2/Doctrine2(MySQL)更新不会在更新后立即显示在Select上_Php_Mysql_Symfony_Doctrine Orm - Fatal编程技术网

Php Symfony2/Doctrine2(MySQL)更新不会在更新后立即显示在Select上

Php Symfony2/Doctrine2(MySQL)更新不会在更新后立即显示在Select上,php,mysql,symfony,doctrine-orm,Php,Mysql,Symfony,Doctrine Orm,我在Doctrine2中有几个更新,每个更新都在一个事务中 在这段代码的末尾是一个Select查询,它使用。但是从JMSSerializerBundle返回的JSON中没有一些更新 我不认为这与JMSSerializerBundle有关 但更多的是与教义2相关。如果我再次运行select查询,那么数据就在那里。它就在那里,只是没有在同一个HTTP调用中返回 代码相对简单,所以我没有包括在内,这更多的是一个关于理解更新后的数据可能会发生什么的问题 事务应该在select查询发生时完成,不是吗 命令

我在Doctrine2中有几个更新,每个更新都在一个事务中

在这段代码的末尾是一个Select查询,它使用。但是从JMSSerializerBundle返回的JSON中没有一些更新

我不认为这与JMSSerializerBundle有关

但更多的是与教义2相关。如果我再次运行select查询,那么数据就在那里。它就在那里,只是没有在同一个HTTP调用中返回

代码相对简单,所以我没有包括在内,这更多的是一个关于理解更新后的数据可能会发生什么的问题

事务应该在select查询发生时完成,不是吗

命令如下:

  • 启动事务
  • 对实体进行更改
  • 坚持
  • 冲洗
  • 承诺

这可能取决于事务中的隔离级别。 要使其在事务内部工作,您需要设置:

$entityManager
    ->getConnection()
    ->setTransactionIsolation(Connection::TRANSACTION_READ_COMMITTED);
这样,事务中写入的任何内容都是可读的

其他可能的值:

const TRANSACTION_READ_UNCOMMITTED = 1;
const TRANSACTION_READ_COMMITTED = 2;
const TRANSACTION_REPEATABLE_READ = 3;
const TRANSACTION_SERIALIZABLE = 4;

你坚持了实体吗?是的,刚刚为你编辑了我的Q。对不起,我应该重新措辞;你确定你坚持了吗我已经做了很多次修改,但是完全忘记了在错误的点上坚持。如果没有代码示例,它可能是第一个要看的东西。因为如果我没有这样做,那么它就根本不起作用,即使是在后续的请求上也不起作用了?这实际上取决于您是如何实现它的(即,我发现我错过持久化的最常见的区域是在循环内)。同样,没有代码很难识别。