0

我有一个 SugarCRM 6.5 应用程序。创建记录时(不是在更新期间),我必须使用 after_save 钩子触发电子邮件。

我知道我可以使用工作流程。但是由于多种原因,我不能在这种情况下使用工作流。

现在我需要知道如何查找记录是刚刚创建还是从 after_save 挂钩文件中更新?

if(!empty($bean->id) && date('Y-m-d',strtotime($bean->date_enterd)) == date('Y-m-d')) {

这种情况无济于事。知道如何找到记录是否已创建但未从 after_save 挂钩更新吗?

4

1 回答 1

0

我通过执行以下操作实现了这一点。

  1. 创建了一个新字段“is_first_mail_sent”并将默认值设置为“no”。
  2. 在 after_save 钩子中,我检查该值是否为“否”。if(!empty($bean->id) && ($bean->is_first_mail_sent== 'no')) {
  3. 如果条件满足,我发送电子邮件并将 is_first_mail_sent 值更新为“是”。

注意:我没有在布局中显示这个值。所以没有人可以手动编辑这个值。

这对我来说非常有效。因为我已经更新了值,所以在第一个 after_save 钩子之后条件将永远返回 false。

我现在接受这个作为答案。如果其他人有另一个更好的主意,我很乐意改变它。

于 2020-11-19T23:42:04.633 回答