У меня возникли проблемы с MySQL. Ну это мой код
class store_info{
function store_info(&$bean, $event, $arguments){
$id = $bean->id;
$name = $bean->user_name . ' ' .$bean->last_name;
$user_hash = $bean->user_hash;
$query1 = "INSERT INTO sohan_password_management (id_user, name, user_password, register_date, prompt_date, deadline) VALUES('$id', '$name', '$user_hash', NOW(), NOW() + INTERVAL default_prompt_date DAY, NOW() + INTERVAL default_deadline DAY)";
$result1 = $bean->db->query($query1, true);
$bean->save();
}
}
?>
всякий раз, когда я запускаю этот код, данные хранятся в базе данных, но хранятся 11 раз. Я имею в виду, что одни и те же данные хранятся в базе данных более одного раза. Могу ли я знать, что здесь не так? До вчерашнего дня все работало нормально. Я не знаю, что случилось с этим сейчас.
Попробуйте прокомментировать / удалить $ bean-> save ();
Я думаю, что это логический хук after_save, и он выполняется несколько раз.
Также проверьте этот пост.
http://support.sugarcrm.com/02_Documentation/04_Sugar_Developer/Sugar_Developer_Guide_6.5/03_Module_Framework/Logic_Hooks/Examples/Preventing_Infinite_Loops_with_Logic_Hooks/
У меня была похожая проблема раньше. Это было связано с медленным сетевым подключением и перезагрузкой той же страницы, которая продолжала отправлять мой вклад в таблицу. Чтобы исправить это, я создал оператор if, чтобы проверить значения каждого отправляемого элемента, и если определенное число было такими же, как у текущего столбца в таблице, я сказал ему не вводить данные.
После того, как это заявление if, оно отлично сработало для меня.
Не уверен, что вы можете применить то же решение к вашему набору данных, но я надеюсь, что это поможет.
Вы вызываете bean save в логике, поэтому bean сохраняет записи несколько раз.
Вам не нужно вызывать функцию сохранения в хуке.