2016-05-16 75 views
0

我正在創建一個使Laravel中的嚮導使用的crud。我想知道如何獲取某個表的nextval(),以便將其存儲爲會話。從laravel中獲取PostgreSQL的nextval()?

目前,我正在做這樣從我的控制器:

public function index() 
{ 
    // get all the reports 
    $reports = Reports::all(); 
    $query = "select nextval('app_reports_mgmt.reports_rid_seq')"; 
    $next_rid = Reports::raw($query)->get(); 
    Session::put('next_rid', $next_rid); 

    // load the view and pass the reports 
    return View::make('templates.reports') 
     ->with('reports', $reports); 
} 

,但每次我打印出來next_rid,它實際上存儲在表中的所有數據。 這是一個很長的結果,但這裏是一段輸出:

[{「rid」:4,「name」:「Test validation table test」,「encryption」:「test」,「internal_external」:「 External「,」client「:」Account 1「,」isdateappended「:」No「,」savewithmacro「:」xlsx「,」deleteconnections「:」True「,」nameofemailbodysheet「:」1「,」validationtables「:」 「 」validationchecks「: 」「, 」customemailtext「: 」3「, 」report_status「: 」WIP「, 」custom_email_subject「: 」2「, 」report_pc「: 」ccrep-EU-rbox02「, 」pc_user「:」報告歐盟「,」custom_attachment_name「.......

我已經通過laracasts和一些更多的網站,但似乎沒有任何Laravel函數獲取nextval的表。 在此先感謝。

回答

2

您可以使用value()函數。

public function index() 
{ 
    // get all the reports 
    $reports = Reports::all(); 
    $query = "nextval('app_reports_mgmt.reports_rid_seq') as nxt"; 
    $next_rid = Reports::selectRaw($query)->value('nxt'); 
    Session::put('next_rid', $next_rid); 

    // load the view and pass the reports 
    return View::make('templates.reports') 
     ->with('reports', $reports); 
} 
+1

哇..感謝了很多先生.. – Odinovsky