从laravel中的另一个表中获取用户信息

时间:2017-07-31 02:01:54

标签: php laravel

我有Order表,其中用户订单将与id一起存储,状态为0 / 1,以显示该订单是由用户支付还是不支付。

现在我想在他们的个人资料中显示他们有10个订单和3个付费。

我可以获得10个总订单的数量,但是我在获取已支付的3个订单的数量时遇到问题。

目前我有这个:

$ordersd = DB::table('orders')->where('status', Auth::user()->username)->pluck('status')->count();

但这不是我需要的,因为我需要为count仅为我指定状态为1且属于已登记用户的订单。

我该怎么做?

感谢。

2 个答案:

答案 0 :(得分:2)

为什么要将statusAuth::user()->username内部条件进行比较?

它有意义吗?

$ordersd = DB::table('orders')->where('status', Auth::user()->username)
               ->pluck('status')->count();

所以,将其改为

$ordersd = DB::table('orders')
            ->where('user_id',Auth::user()->id)
            ->where('status', 1)
            ->count();

希望你明白。

答案 1 :(得分:0)

您应该可以这样做以获取付款订单的计数:

$ordersd = DB::table('orders')
             ->where([ [ 'status', '=', 1 ], 
                       [ 'user_id', '=', Auth::user()->id]
                    ])
             ->count();

获取订单总数:

$ordersd = DB::table('orders')
             ->where('user_id', Auth::user()->id)
             ->count();