如何使用基本查询在 Lumen/Laravel 中的 DB::insert 之后获取行 ID
How to get the row id after DB::insert in Lumen/Laravel with basic queries
我正在使用 Lumen 5.1 和 运行 原始 SQL 查询,使用 DB
外观。
如何在执行 insert
查询后获取行的 ID?
例如:
$rowId = DB::insert("insert into `customers` (name) values ('Tom')");
echo $rowId; // 1
然后变量 $rowId
应该包含数据库行的 ID。
我认为您可能需要获取底层 PDO 对象的句柄,然后使用它来获取新的插入 ID,就像这样
$pdo = DB::connection()->getPdo();
$result = DB::insert("insert into `customers` (name) values ('Tom')");
if ( $result ) {
$rowId = $pdo->lastInsertId();
}
或者更简单
$result = DB::insert("insert into `customers` (name) values ('Tom')");
if ( $result ) {
$rowId = DB::connection() -> getPdo() -> lastInsertId();
}
未测试,仅根据手册推断
我正在使用 Lumen 5.1 和 运行 原始 SQL 查询,使用 DB
外观。
如何在执行 insert
查询后获取行的 ID?
例如:
$rowId = DB::insert("insert into `customers` (name) values ('Tom')");
echo $rowId; // 1
然后变量 $rowId
应该包含数据库行的 ID。
我认为您可能需要获取底层 PDO 对象的句柄,然后使用它来获取新的插入 ID,就像这样
$pdo = DB::connection()->getPdo();
$result = DB::insert("insert into `customers` (name) values ('Tom')");
if ( $result ) {
$rowId = $pdo->lastInsertId();
}
或者更简单
$result = DB::insert("insert into `customers` (name) values ('Tom')");
if ( $result ) {
$rowId = DB::connection() -> getPdo() -> lastInsertId();
}
未测试,仅根据手册推断