我写了一个机器人。然后,它会抓取数据并将其插入数据库。当我第一次运行机器人时,没有问题。但是当我第二次运行机器人时,弹出错误消息。让我解释一下我的意思。
在这里,我正在将数据插入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。
答案 0 :(得分:1)
如果记录存在,只需使用其ID。
$row = Menu::where("url", "=", $link."menu")->first()
if ($row) {
$insertedMenuId = $row->id;
} else {
$insertedMenuId = Menu::insertGetId($database);
$this->line("Menu Inserted.");
}