【问题标题】:get ids of all inserted records by last query executed in cakephp通过在 cakephp 中执行的最后一个查询获取所有插入记录的 ID
【发布时间】: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?

很多论坛都问过这个问题,但没有明确的答案。

【问题讨论】:

    标签: cakephp lastinsertid


    【解决方案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,你应该有你的范围
    猜你喜欢
    • 2013-05-02
    • 1970-01-01
    • 2015-12-01
    • 2018-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多