Последовательность запросов Cakephp дает неожиданный результат - PullRequest
0 голосов
/ 22 мая 2018

У меня есть два запроса в модельной функции Cakephp 2.8.4.

  • В первом я беру запись в таблице A, которой нет в таблице B (в зависимости от ключа)
  • Затем я копирую эту запись в таблицу B (только некоторые полезные поля и ключ)

Эти 2 запроса повторяются в цикле for примерно 20 раз.

В этом сценарии я не ожидаю наличия в таблице B двух одинаковых записей, но иногда это происходит;я думаю для асинхронных звонков.Как я могу избежать этого?Я пытаюсь округлить два запроса в транзакции следующим образом:

for ( $i = 0; $i < $number ; $i++ ){
  $dataSource = $this->getDataSource();
  $dataSource->begin();

  $record = $this->getRecord($param1, $param2, ...);
  $this->insertRecord($record['id']);

  $dataSource->commit();
}

, но это дает мне тот же результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...