在原始查询插入的情况下,有没有办法返回主键?
我有:
$sql = "insert into table(field1, field2) select (field1+1), ".$id." from table where field2=".$id." order by field3 desc limit 0,1";
$return = (DB::insert(DB::raw($sql)));
我的$ return是一个布尔值,所以在这个插入后没有选择,我可以得到这个PK吗?
答案 0 :(得分:2)
我想在DB::insert
来电之后无法检索PK /最后插入的ID。
正如您在Illuminate\Database\ConnectionInterface
中看到的那样,insert
方法会返回一个bool,因为它会从PDOstatement::excecute
中的Illuminate\Database\Connection
返回。
最后,在DB::getPdo()->lastInsertId()
后使用DB::insert
。