如何在Lumen / Laravel中使用基本查询获取DB :: insert之后的行id

时间:2015-07-27 15:35:16

标签: php laravel laravel-5 lumen

我正在使用 Lumen 5.1 并使用 <tr ng-repeat="member in members"> <td>{{member.Event.id}}</td> <td>{{member.Event.account_id}} <td>{{member.Event.ishop_id}} </td><td>{{member.AccountShop.id}} </td> </tr> 外观运行原始SQL查询。

如何在执行DB查询后获取行的ID?

例如:

insert

变量$rowId = DB::insert("insert into `customers` (name) values ('Tom')"); echo $rowId; // 1 应该包含db行的id。

1 个答案:

答案 0 :(得分:3)

我认为您可能需要获取基础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();
}

未经测试,仅从手册

中推断出来