繁体   English   中英

为什么 Laravel Eloquent HaveRaw 返回 null 值?

[英]Why Laravel Eloquent HavingRaw returns a null value?

我试图在 Laravel Eloquent 中编写以下查询,它返回 null 值。 我不知道我在以下查询中做错了什么。

SQL 查询::

SELECT orders.user_id FROM orders JOIN order_item ON order_item.order_id = orders.id GROUP BY orders.user_id HAVING COUNT(orders.user_id)>700  

Eloquent 查询生成器::

             return DB::table('orders')                
                    ->join('order_item', 'order_item.id', '=', 'orders.id')
                        ->groupBy('orders.user_id')
                        ->select('orders.user_id')
                            ->having(DB::raw('COUNT(orders.user_id) > 700'))
                                ->get() 

将 order_item.id 更改为 order_item.order_id 并在 having 子句中使用 havingRaw 而不是 DB::raw。 请参阅以下正确查询。

return DB::table('orders')                
                    ->join('order_item', 'order_item.order_id', '=', 'orders.id')
                        ->groupBy('orders.user_id')
                        ->select('orders.user_id')
                            ->havingRaw('COUNT(orders.user_id) > 700')
                                ->get()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM