我希望在laravel 5.3控制器中使用Auth :: user() - > id来获取用户ID,但是它会产生错误

时间:2017-02-10 06:03:58

标签: php laravel-5.3

我创建了一个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-

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

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从数据库中获取网络点。

1 个答案:

答案 0 :(得分: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
    }
相关问题