Doctrine Criteria Matching的问题

时间:2016-08-25 11:57:01

标签: php doctrine-orm

使用Doctrine 2,如果我通过主键检索实体并在不刷新数据库的情况下对字段进行更改,则后续条件匹配将查询数据库以查找关联,并在内存更改时错误地返回记录。应排除此记录,但由于尚未刷新,因此查询仍会检索它。

鉴于此功能:

foreach($organisation->getActiveUsers() as $user)
    echo ($user->isActive() ? 'true' : 'false');

运行以下命令将输出“true true”

User::get(1)->setActive(false);

foreach($organisation->getActiveUsers() as $user)
    echo ($user->isActive() ? 'true' : 'false');

但是,将其中一个用户标记为非活动状态然后运行相同的标准匹配将输出“false true”(应该只输出一个“true”,因为应该排除第一个记录)

KPHSwitch.setOn(false, animated: true) //If you don't want animation, send animated parameter false
MperSSwitch.setOn(false, animated: true)

这个错误迫使我在每个标准查询之前执行刷新,这会极大地降低性能。如果有人能够对此有所了解,那将不胜感激

0 个答案:

没有答案