Phalcon 最后在 aftercreate 函数中插入 id

Phalcon last insert id in aftercreate function

如何获取最后插入的 ID,如下所示:

$user = new User();
$user->name = 'asdf';
$user->save();
echo $user->id;

但在函数 aftercreatebeforecreate 函数中的内部模型:

public function beforecreate(){
// last id ?
}

我想做的是将 sql 语句记录到另一个 table.

您可以在 afterCreate 中执行此操作。请注意 exit; 用于调试目的。

public function afterCreate()
{
    echo $this->id; // 8
    exit;
}   

很遗憾,您无法访问 beforeCreate 中的 id,因为记录尚未创建,因此还没有 id。

如果您确实需要在 beforeCreate 中使用 id,您可以尝试获取主键的当前最大值并将其递增 1。但这有点老套,使用 afterCreate 是首选。