How to update a field in an after_save logic hook?

Hello all,

I have created a custom field to hold an autoincrement value for each record in the module. This works ok.

I would like to use this number as a part of the name of the record. So, I have created a logic_hook based on the after_save event.

Unfortunately, it seems that $bean data is not available when after_save-ing.

It I test the logic_hook in before_save event, the code works ok and Name field is properly updated. However I can't use the code in before_save because it only would work when editing records not when creating them, because the logic hook would be fired before setting the autoincrement value.

Any ideas?

Here is my code, so simple. I'm on SugarCRM CE 6.5.11.
class my_class{
  public function my_function(&$bean, $event, $arguments){
    $bean->name = $bean->my_autoincrement_field_c;
  }
}
Parents
  • In a case like this I'd go straight to the database and do an update query. Either that or in your after_save call do a $bean->save(). There is some built-in protection against nested logic hooks, but it would be wise to also set a static var to ensure that your hook only runs once if you call ->save() again.
  • Thank you very much, eggsurplus. Will try this idea.
Reply Children
No Data