如何在不将任何数据插入数据库的情况下获取ID

时间:2019-08-26 07:35:44

标签: php laravel

我写了一个机器人。然后,它会抓取数据并将其插入数据库。当我第一次运行机器人时,没有问题。但是当我第二次运行机器人时,弹出错误消息。让我解释一下我的意思。

在这里,我正在将数据插入DB。

if (Menu::where("url", "=", $link."menu")->first()) {
    $insertedMenuId = count($url);
} else {
    $insertedMenuId = Menu::insertGetId($database);
    $this->line("Menu Inserted.");
}

使用此$insertedMenuId将连接的数据插入另一个表。但是这里的问题是,如果我已经插入了数据。那不是给我身份证。并且$insertedMenuId为空。所以第二段代码没有开始。因为没有给出id。

我试图通过计算网址来解决问题。如果URL已经被插入。但是这一次它给出了错误的ID。

1 个答案:

答案 0 :(得分:1)

如果记录存在,只需使用其ID。

$row = Menu::where("url", "=", $link."menu")->first()
if ($row) {
    $insertedMenuId = $row->id;
} else {
    $insertedMenuId = Menu::insertGetId($database);
    $this->line("Menu Inserted.");
}