Eloquent insert id with sequence next value

时间:2017-03-14 14:23:05

标签: php laravel laravel-5.3

我想在一个PostgreSQL数据库表中用Laravel eloquent创建一个新记录,但表id不会自动增加,这会让我的生活变得更加困难。

以下是示例结构:

CREATE TABLE billing (
   id int8,
   companyname varchar(255) NOT NULL,
   ...
   PRIMARY KEY (id),
);

id 字段不会自动递增,我无法更改此设置。此外,我无法写入触发器。

在Laravel我想做这样的事情:

$billing = new Billing;

$billing->id = DB::raw("nextval('sequence')");
$billing->companyname = $request->companyname;
// ...

$billing->save();

它正在工作但似乎很乱。

如何简化代码的 DB (id)部分?

谢谢!

1 个答案:

答案 0 :(得分:0)

尝试

$billing->id = DB::getPdo()->lastInsertId(); // + 1 ?