有此数据库:
当我添加新的付款时,会插入新的余额记录,并且以后所有的余额也会更新(付款的日期可能是过去的日期)。例如:
UPDATE balance
SET balance_amount = balance_amount + :payment_amount
WHERE balance_date > :payment_date;
然后,我清除IdentityMap(或其任何名称,似乎Doctrine不会将其视为“缓存”?),因为如果我不这样做,则更新的值将不会反映在实体中:
$em->clear(Balance::class);
问题在于随后插入了2个付款项:
我该怎么办?完全禁用IdentityMap for Balance-如何进行?还是“付款”->“余额”集合中的邪恶根源(实际上应该是1:1关系)?谢谢