我想在数据库中插入一个简单的菜单,并且该菜单还支持缩略图。在将菜单插入数据库之前,我想从MySQL获取最后一个递增的id(未知),以便用唯一的id命名我的缩略图。
如果表中至少有一行,我可以获取最后一个ID。
// last insert id
$last_id = App\Menu::get()->last()->id;
// or // last insert id
$last_id = App\Menu::selectRaw('MAX(id) AS latest_id')->get();
如果没有数据,则以上代码应返回null。我的问题是如何获取MySQL将生成的最后一个自动递增的ID。
答案 0 :(得分:1)
我认为,请更改您的策略。更好的方法是在获取最后一个插入ID后命名缩略图。如您所知,PHP是一种基于请求的语言,如果您有多个同时要执行此请求的请求,则会遇到冲突ID的严重问题。
答案 1 :(得分:0)
我同意@ajafari。
更好的方法是先创建菜单,然后命名缩略图。
它看起来像这样:
$menu = new Menu(['column_name' => value, etc ...]);
$menu->save();
//Now you have access to the latest id of the menu in $menu->id
希望有帮助!