我有Order
表,其中用户订单将与id
一起存储,状态为0 / 1
,以显示该订单是由用户支付还是不支付。
现在我想在他们的个人资料中显示他们有10个订单和3个付费。
我可以获得10个总订单的数量,但是我在获取已支付的3个订单的数量时遇到问题。
目前我有这个:
$ordersd = DB::table('orders')->where('status', Auth::user()->username)->pluck('status')->count();
但这不是我需要的,因为我需要为count
仅为我指定状态为1
且属于已登记用户的订单。
我该怎么做?
感谢。
答案 0 :(得分:2)
为什么要将status
与Auth::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();