需要有关在codeigniter中使用MySQL join的帮助

时间:2013-03-16 20:07:26

标签: mysql codeigniter

我有一个名为users的表。

和“用户”的结构如下:

ID          int(11)
Name        varchar(50)
CreatedBy   int(11)

需要注意的是,任何行中的“CreatedBy”字段都包含创建该行(用户)的用户的ID。

现在我需要显示所有用户的列表以及创建者的名称。不是“CreatedBy”字段,它是一个整数。

例如,如果我在users表中有这些行:

ID          Name          CreatedBy

1           Nina              1
2           John Doe          1
3           Samir Nasri       2

然后我需要将它们显示为:

Name             CreatedBy

Nina              Nina
John Doe          Nina
Samir Nasri       John Doe

我如何在Codeigniter中执行此操作或仅使用原始mysql查询?

提前致谢

2 个答案:

答案 0 :(得分:1)

非常确定您可以将表连接到彼此,在这种情况下,以下内容应该有效:

select u.name, c.name from users u left join users c on (u.id=c.createdby)

答案 1 :(得分:1)

查看数据库中活动记录的文档,无需编写SQL查询。

http://ellislab.com/codeigniter/user-guide/database/active_record.html

$this->db->join('users u', 'u.id=c.createdby', 'left');
$query = $this->db->get('users c');