0
我們使用Symfony2,Propel和觸發器與一個mssql服務器。問題如下: *從表單中,我們在DB中插入一個新對象 *然後用觸發器將插入記錄到表中 *然後從propel對象中我們得到插入的ID =>它是假。Propel/mssql:最後一個插入ID
進一步分析後,propel使用PHP函數PDO :: lastInsertId獲取數據庫中最後一個插入的ID,該函數返回插入到日誌表中的行的ID。
我認爲Propel應該使用SELECT SCOPE_IDENTITY()來代替,這將在觸發器運行到另一個上下文時返回對象ID。
問題是:如何告訴推動使用這個函數?在行走束,有MssqlPropelPDO類,它的實現是:
public function lastInsertId($seqname = null)
{
$result = self::query('SELECT SCOPE_IDENTITY()');
return (int) $result->fetchColumn();
}
但這類不是從我的代碼使用,而這是DebugPDO(只見到到BasePeer類)。