通过在 cakephp 中执行的最后一个查询获取所有插入记录的 ID
Posted
技术标签:
【中文标题】通过在 cakephp 中执行的最后一个查询获取所有插入记录的 ID【英文标题】:get ids of all inserted records by last query executed in cakephp 【发布时间】:2011-06-13 06:04:37 【问题描述】:我可以找到最后插入记录的主键id如下:
$this->Model->save($record);
$id = $this->Model->getLastInsertId();
我正在寻找这样的东西:
$this->Model->saveAll($records);
$ids = $this->Model->getLastInsertIds();
我要插入 100 条记录,因此最好将它们全部插入到单个查询中。仍然需要几秒钟来执行用例。有没有办法通过最后一次查询获取所有插入记录的 id?
很多论坛都问过这个问题,但没有明确的答案。
【问题讨论】:
【参考方案1】:我认为这可能有效,并且可能是您正在寻找的:
$this->Model->saveAll($records);
$id1 = $this->Model1->id();
$id2 = $this->Model2->id();
$id3 = $this->Model3->id();
...
记得用您要保存到的每个模型替换模型1、模型2、模型3。
你看过 cakephp 保存数据的教程吗?链接在这里: http://book.cakephp.org/view/1031/Saving-Your-Data
希望这会有所帮助。
【讨论】:
但是我在同一个模型中添加了所有 100 条记录。 你想要这个范围吗?例如7 - 106. 如果是这样,只需获取第一个和最后一个 id,你应该有你的范围以上是关于通过在 cakephp 中执行的最后一个查询获取所有插入记录的 ID的主要内容,如果未能解决你的问题,请参考以下文章