我有3个表:用户,帖子,类别
类别:id,name
1 linux
2 Mac
用户:身份证,姓名,电子邮件,图片
1 Jak t@t.com afs
2 Stif t2@t.com 122afs
帖子:id,idc,idu,title,content
如果我使用getall函数
function getall(){
$this->db->limit(10);
$this->db->order_by("id", "desc");
$query = $this->db->get('posts');
$res=$query->result();
return $query->result();
}
然后像这样结果
- 1 1 2 test content1
- 2 1 1 test2 content2
但我需要得到这样的结果:
- 1 linux Stif test content1
- 2 linux Jak test2 content2
我该怎么做?
答案 0 :(得分:1)
使用join
您可以进行所需的查询
试试这个:
function getall(){
$this->db->select('*, category.id as category_id, users.id as user_id');
$this->db->from("posts");
$this->db->join("users", "users.id = posts.idu");
$this->db->join("category", "category.id = posts.idc");
$this->db->order_by("posts.id", "desc");
$this->db->limit(10);
$query = $this->db->get();
$res=$query->result();
return $query->result();
}