Mysql 使用codeigniter开发相册,查询以选择图像?

Mysql 使用codeigniter开发相册,查询以选择图像?,mysql,codeigniter,Mysql,Codeigniter,我正在使用codeigniter开发一个web应用程序。在那里,我正在制作一个部分,以显示facebook中的图像作为此屏幕截图。 为此,我创建了两个数据库表。一个用于使用用户id保存相册名称。一个用于使用相册id保存图像名称。这里我提供了两个表的屏幕截图。 我的相册表中有很多相册供一个用户使用。现在我只在此表中输入了一个数据以供测试。我如何才能从一个相册中仅选择一个图像来创建相册视图,如在Facebook中所示,希望我已在问题顶部显示为屏幕截图。我在模型中创建了类似这样的查询以选择图像

我正在使用codeigniter开发一个web应用程序。在那里,我正在制作一个部分,以显示facebook中的图像作为此屏幕截图。

为此,我创建了两个数据库表。一个用于使用用户id保存相册名称。一个用于使用相册id保存图像名称。这里我提供了两个表的屏幕截图。

我的相册表中有很多相册供一个用户使用。现在我只在此表中输入了一个数据以供测试。我如何才能从一个相册中仅选择一个图像来创建相册视图,如在Facebook中所示,希望我已在问题顶部显示为屏幕截图。我在模型中创建了类似这样的查询以选择图像

$username=$this->session->userdata('username');
         $this->db->select('id');
         $this->db->where('email',$username);
         $query=$this->db->get('user');
         foreach ($query->result() as $row)
         {
             $user_id= $row->id;

         }



         $this->db->select('*');
         $this->db->where('album_images.user_id',$user_id);
         $this->db->from('album_images');
         $this->db->join('album', 'album.id = album_images.album_id');

         $query = $this->db->get();
         return $query->result();
如何改进此代码,以便从每个相册中仅选择一个图像,并将该图像的所有详细信息(如图像id、相册id、相册名称、图像名称)传递到视图?

尝试此方法

$this->db->select('uai.album_id, ua.album_name, uai.id as image_id, uai.image_name');
$this->db->from('user as u');
$this->db->join('album as ua', 'ua.user_id = u.id', 'left');
$this->db->join('album_images as uai', 'uai.user_id = u.id AND uai.album_id = ua.id', 'left');
$this->db->where('u.email',$this->session->userdata('username'));
$this->db->group_by('uai.user_id, uai.album_id');
$this->db->order_by('ua.album_name ASC');
$query = $this->db->get();
return ($query->num_rows() > 0) ? $query->result() : false;
输出如下

Array
(
    [0] => stdClass Object
        (
            [album_id] => 1
            [album_name] => Apple
            [image_id] => 1
            [image_name] => Apple1.jpg
        )

    [1] => stdClass Object
        (
            [album_id] => 2
            [album_name] => Orange
            [image_id] => 3
            [image_name] => Orange1.jpg
        )

)
image\u name
将从
album\u images
表返回一个图像

ex. `[image_name] => Apple1.jpg` from (Apple1.jpg,Apple2.jpg,Apple3.jpg ..etc)

您当前的代码有什么问题?使用$this->db->limit(1)向其添加限制;我的相册表中有很多相册。目前我只在表中输入了一个数据以供检查。所以我想一次从所有相册中获取一张图像。