Cakephp查询序列获得意外结果

时间:2018-05-22 10:04:39

标签: php mysql asynchronous cakephp transactions

我在Cakephp 2.8.4模型函数中有两个查询。

  • 在第一个中,我在表A中记录了一个不在表B中的记录(取决于一个键)
  • 然后我在表B中复制该记录(只有一些有用的字段和密钥)

这两个查询在一个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();
}

但它给了我相同的结果。

0 个答案:

没有答案