2017-02-10 45 views
0

我創建了一個points表,並且用戶點將被記入貸方。結構如下。 id userid p_add p_less description created_at updated_at 1 9 3000 0 purchased -time- -time- 2 9 0 300 expend -time- -time- 我想用Auth :: user() - > id獲取laravel 5.3控制器中的用戶ID,但是它創建了錯誤

我正在使用以下控制器代碼。

public function account_page(){ 

    $points = Points::select(DB::raw("sum(p_add)-sum(p_less) as Total"))->where('user_id', 9)->first(); 

    return view('mop.account-page', array('points'=>$points)); 
} 

因此,在視圖頁中命名爲帳戶頁面結果正確顯示爲我想要的。 但是,這個查詢獲取user_id作爲一個靜態值。我想動態地。所以如果我把Auth::user()->id放在9的位置上,即使我在頂部使用了use Auth;。幫助我在查詢中使用動態user_id從數據庫中獲取網點。

+0

嘗試'\驗證:: ID()'來獲得ID – C2486

+0

是列名是'userid'或'user_id'? &什麼是錯誤信息? –

回答

0

首先讓希望你有一個用戶表的主鍵ID,並在您的項目相關聯的模式。 嘗試使用use Illuminate\Support\Facades\Auth;然後

// This will check if user is logged in.. 
if (Auth::check()) { 

     $user_id = Auth::user()->id; 
     $points = Points::select(DB::raw("sum(p_add)-sum(p_less) as Total"))->where('user_id', $user_id)->first(); 

     return view('mop.account-page', array('points'=>$points)); 
    } else { 
     return redirect('somewhere'); // or return anything you want 
    } 
相關問題