我目前有一个表单并且在保存时我总是进行API调用以针对外部源验证表单信息(例如:公司是增值税支付公司等)。我还想在数据库中存储我从外部API获得的响应,我在表单上有一个帖子提交订阅者。
在订阅者中,我调用API并在值不匹配的表单上设置错误。这就是我调用服务来处理所有业务逻辑的地方,我在那里
$em->persist($apiResponse);
$em->flush();
保持API响应。
这最终会保存附加到数据库中表单(公司)的实体值,即使这些值实际上是无效的,并且用户也会返回到表单页面。
请注意这是在编辑时发生的,我理解为什么会发生这种情况,因为该实体是由Doctrine管理的。
我也试过只刷新我感兴趣的实体:
$em->persist($apiResponse);
$em->flush($apiResponse);
这似乎有效,但我读到这可能有意想不到的行为。
因此,我的问题是:有什么解决方案?
谢谢,抱歉缺少代码示例!