Cake - 从我们刚插入的模型中获取ID?

时间:2013-06-07 02:41:40

标签: cakephp

当我在谷歌搜索时,我发现每个人都在建议getLastInsertID()获取我们刚刚保存/插入的模型的ID。

但是如果在该方法运行之前的分裂毫秒期间,另一个用户插入了新数据呢?

该方法是否会返回该另一个用户插入的数据的ID?

为了澄清,这是一个例子:

$this->Post->save($this->request->data); //Data saved as ID 1
//During this split millisecond, someone else save a data with ID 2
$this->Post->getLastInsertID(); //will this return 1 or 2?

由于

1 个答案:

答案 0 :(得分:1)

是的,我认为你的问题中的$this->Post->getLastInsertID();会返回1,即使其他用户保存了数据,也就是因为它的每个连接。它仅受当前客户端连接中发出的语句的影响。它不受其他客户发布的声明的影响。所以这意味着如果你提到的话,使用$this->Post->getLastInsertID();会更安全。