次のコードを使用して、データベースに新しい行を挿入しています。
$data = array(
'key' => 'value'
);
$this->getDbTable()->insert($data);
作成したばかりのこの行の行 ID を取得するにはどうすればよいですか?
次のコードを使用して、データベースに新しい行を挿入しています。
$data = array(
'key' => 'value'
);
$this->getDbTable()->insert($data);
作成したばかりのこの行の行 ID を取得するにはどうすればよいですか?
これを試しましたか?これもうまくいきます。
//just after you call your insert($data) function .. use this
$lastInsertId = $this->getAdapter()->lastInsertId();
1つの落とし穴。電話$this->getDbTable()->insert($data);
をかけるときは、$dataにテーブルの「主キー」が含まれていることを確認する必要があります。たとえば、id=null
自動インクリメントの場合です。それ以外の場合、insert()
最後に挿入されたIDは返されません。
関数もありnewId
、witch は次の新しい ID を返すので、それを使用して新しい行を挿入できます。
$id = $this->getDbTable->newId('table_name', 'id');
$data = array(
'id' => $id,
'data' => $data
);
$this->getDbTable->insertRow('table_name', $data);
これで、あなたの$id
.
以下のコードを試してください:
データを挿入するには:
$this->tableGateway->insert($data);
最後に挿入された値を取得:
$this->tableGateway->lastInsertValue;