如何获取最后一个插入ID,如下所示:
$user = new User();
$user->name = 'asdf';
$user->save();
echo $user->id;
但是函数aftercreate
或beforecreate
中的模型内部函数:
public function beforecreate(){
// last id ?
}
我要做的是将sql语句记录到另一个表中。
答案 0 :(得分:2)
您可以在afterCreate中执行此操作。请注意exit;
以进行调试。
public function afterCreate()
{
echo $this->id; // 8
exit;
}
很遗憾,您无法访问 beforeCreate 中的ID,因为尚未创建记录,因此尚无ID。
如果你真的需要在beforeCreate中使用id,你可以尝试获取主键的当前最大值并将其递增1.但是这有点hacky并且使用afterCreate是首选选项。