Я создал функцию с бесконечным циклом и задержкой в конце, чтобы убедиться, что она будет выполняться только один раз в секунду.
Эта функция находится в классе оболочки, и ее цель - сохранить /обновлять записи в трех разных таблицах, и я вызываю их из строки консоли, используя команду «торт className»
Моя проблема:
Я останавливаю цикл в консоли (Ctrl + C) ив базе данных сохраняется только последняя запись.
Я не знаю, есть ли проблемы с транзакцией, я пытался использовать begin () перед сохранением и фиксацией после, но проблема существовала.
Код выглядит примерно так:
$this->T1->begin();
$this->T2->begin();
$this->T3->begin();
if ($this->T1->save((array (
'Field1' => $val1,
'Field2' => $val2,
'Field3' => $val3)))
&& $this->T2->save(array (
'Field1' => $val4,
'Field2' => $val5,
'Field3' => $val6)))
&& $this->T3->saveField('Field1', $val7))
{
$this->T1->commit();
$this->T2->commit();
$this->T3->commit();
echo 'success message';
}