我有一个名为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查询?
提前致谢
答案 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');