php - Codeigniter group_by 无法正常工作

标签 php mysql codeigniter

我正在尝试从视频表中获取用户 ID 列表。该表包含用户上传的媒体文件。这是我的代码

        $this->db->select("videos.user_id as userId");
        $this->db->limit('10', $document['offset']);
        $this->db->group_by('userId');
        $this->db->order_by('id','desc');

        $recentUploads = $this->db->get('videos')->result_array();
        if (!empty($recentUploads)) 
        {
            foreach ($recentUploads as $record) 
            {
                $totalPostMedia = $obj->totalPostMedia($record);
                $record['totalPostMedia'] = $totalPostMedia;

                $resData = $this->db->select("username, profileImage")->from('users')->where('id', $record['userId'])->get()->row_array();
                $record['uploadBy'] = $resData['username'];
                $record['profileImage'] = "http:...com/profileImage/".$resData['profileImage'];

                $Mydata[] = $record;
            }
        }

获取的结果缺少表中的一些 userId。我也尝试过 $this->db->distinct() 。仍然得到相同的结果。我获得没有重复结果的唯一方法是删除 $this->db->order_by('id','desc'); 或将其设为 asc而不是 desc。但我想从表中获取最新的记录。我该怎么做呢?难道我做错了什么?任何帮助将非常感激。

最佳答案

试试这个

$this->db->select("videos.user_id as userId");
$this->db->from("videos");
$this->db->group_by('userId');
$this->db->order_by('id','desc');
$this->db->limit('10', $document['offset']);

$recentUploads = $this->db->get()->result_array();
if (count($recentUploads)>0) 
{
    foreach ($recentUploads as $record) 
    {
        $totalPostMedia = $obj->totalPostMedia($record);
        $record['totalPostMedia'] = $totalPostMedia;

        $resData = $this->db->select("username, profileImage")->from('users')->where('id', $record['userId'])->get()->row_array();
        $record['uploadBy'] = $resData['username'];
        $record['profileImage'] = "http:...com/profileImage/".$resData['profileImage'];

        $Mydata[] = $record;
    }
}

关于php - Codeigniter group_by 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45237317/

相关文章:

Mysql - 从一个表中选择一个随机行并将其连接到另一个表中的三行

php - 为什么 MYSQL 在与 int 值比较时将 NULL 或 String 值转换为 0?

javascript - Codeigniter - 在 1 个 View 中显示来自 2 个不同模型函数的 2 个不同数据

php - AJAX 请求生成的元素悬停时的工具提示

php - 如何在收到新邮件时刷新收件箱。(如 Gmail)

php - 如何从同一 mysql 数据库表中的另一个字段移动一个字段数据?

php - 求paypal支付教程

php - 将 json_decode 数据从最旧到最新存储在 MySql 数据库中

php - 时间戳字段值的问题

php - 为什么我的 PDO 连接失败