2017-03-14 5 views
1

私はLaravelの雄弁を持つPostgreSQLデータベーステーブルに新しいレコードを作成したいのですが、テーブルIDは自動インクリメントされず、それは私の人生をより困難にしています。ここで シーケンスの次の値を持つEloquent insert id

は、サンプル構造です:

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

IDフィールドが自動インクリメントされないと、私はこれを変更することはできません。さらに私はトリガーを書くことができません。それは働いて

$billing = new Billing; 

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

$billing->save(); 

が、それは厄介なようだ:

Laravelでは、私はこのような何かをしたいと思います。

私はどのように簡略化できますかDB(id)は私のコードの一部ですか?

ありがとうございます!

答えて

0

$billing->id = DB::getPdo()->lastInsertId(); // + 1 ? 
で試してみてください
関連する問題