2

我有一个名为 users 的表。

“用户”的结构如下:

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

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

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

例如,如果我的用户表中有这些行:

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 查询?

提前致谢

4

2 回答 2

1

很确定您可以将表连接到彼此,在这种情况下,以下应该可以工作:

select u.name, c.name from users u left join users c on (u.id=c.createdby)
于 2013-03-16T20:13:01.997 回答
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');
于 2013-03-16T20:20:16.007 回答