このコードは、負荷の高いページでも、レコードの最後に挿入されたIDを提供しますか?
db = Zend_Db_Table::getDefaultAdapter();
$db->insert($this->_name, $fields_values);
$idAddress = $db->lastInsertId($this->_name);
よろしくアンドレア
このコードは、負荷の高いページでも、レコードの最後に挿入されたIDを提供しますか?
db = Zend_Db_Table::getDefaultAdapter();
$db->insert($this->_name, $fields_values);
$idAddress = $db->lastInsertId($this->_name);
よろしくアンドレア
私はこれを使用しています...
db = Zend_Db_Table::getDefaultAdapter();
$lastInsertId = $db->insert($this->_name, $fields_values);
メソッドはのZend_Db_Adapter_Abstract::lastInsertId()
プロキシPDO::lastInsertId()
です。ドキュメントによると:
PDO :: lastInsertId —最後に挿入された行のIDまたはシーケンス値を返します
ノート:
基盤となるデータベースが自動インクリメントフィールドまたはシーケンスの概念をサポートしていない可能性があるため、このメソッドは、異なるPDOドライバー間で意味のあるまたは一貫した結果を返さない場合があります。
今、あなたは知っています。あなた自身のリスクとしてそれを使用してください!
public function saveData(array $data) {
$this->_setName('user');
// this will return all field name for user table in $field variable
$fields = $this->info($this->getConstCol());
// By this foreach loop we will set data in $data array
foreach ($data as $field => $value)
{
if (!in_array($field, $fields))
{
unset($data[$field]);
}
}
// It will call insert function of (Zend_Db_Table_Abstract Parent of Zend_Db_Table)
// It will return $pkData which is primary key for user table
return $this->insert($data); // It will return last insert ID
}