我有表格订单
Orders{
id
user_id
status
date
}
我需要返回结果,就好像同一个用户的订单超过5次一样 就好像这样订购
ID User_ID Status Date
1 1 Pending xxxxx
2 1 Pending xxxxx
3 1 Pending xxxxx
4 1 Pending xxxxx
5 1 Pending xxxxx
6 2 Pending xxxxx
7 3 Pending xxxxx
8 2 Pending xxxxx
9 1 Pending xxxxx
结果将是来自用户id = 1的所有订单导致他所做的订单超过5个。 我如何使用活动记录来做到这一点?
答案 0 :(得分:1)
从表中选择* 其中[User_ID] in(从[User_ID]中选择[User_ID]具有计数(*)> 5)
答案 1 :(得分:0)
Select * from orders
where user_id in (Select user_id from orders group by user_id having count(1)>=5)
答案 2 :(得分:0)
在您的模型中,您可以传递用户ID并获取特定用户的结果
模型
function get_orders($userid)
{
$this->db->where('user_id',$userid);
$query =$this->db->get('orders');
return $query->result();
}
控制器
function orders($userid){
$result=$this->model->get_orders($userid);
if($result){
foreach ($result as $row){
echo $row->id."<br/>";
echo $row->user_id."<br/>";
....
..
}
}
}