我花了2天时间搜索,希望这里有人能帮上忙。基本上,我正在尝试将一组用户ID发送到CI模型,并检索每个ID的最后10个事务。
我可以限制记录的总数,但我想限制为每个ID,但不知道如何做到这一点?
我已经读到ROW_NUMBER()
可能是我正在寻找的。但是我不确定如何将它从SQL转换成适合在CI模型中使用的东西。下面是我目前拥有的代码:
function getTrans($cData, $date){
$this->db->select('id, userId, date');
$this->db->from('trans');
$this->db->where_in('userId', $cData);
if($date != 0){
$this->db->where('date >=', $date);
}
$this->db->order_by('id','asc');
$query = $this->db->get();
if ($query->num_rows() > 0) {
return $query->result();
} else {
return false;
}
}
正如您所看到的,我使用WHERE_IN
来循环id数组,但是有没有办法为每个调用的id添加一个限制,而不是只对整个数量添加一个限制?
我确实试过在模型中添加一个循环,但它只会不断向我抛出错误500s(我认为这与查询生成的方式有关??)
任何帮助都是非常感谢的
1条答案
按热度按时间k5hmc34c1#
您可以搭配下列查询使用
$this->db->query()
: