Codeigniter外键数据检索

nik*_*las 3 php mysql codeigniter foreign-keys

我正在使用 codeigniter 3.0 和它的新手。这是我的数据库结构。如何通过单个命令访问人名。

这是我的表 1:

CREATE TABLE IF NOT EXISTS `person` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(45) NOT NULL,PRIMARY KEY (`id`));
Run Code Online (Sandbox Code Playgroud)

这是表 2:

CREATE TABLE IF NOT EXISTS `work` (`ID` int(11) NOT NULL AUTO_INCREMENT,  `personname` int(11) NOT NULL,  `date` varchar(220) NOT NULL,  PRIMARY KEY (`ID`),  FOREIGN KEY (`personname`) REFERENCES person(id))
Run Code Online (Sandbox Code Playgroud)

这是我获取数据的模型:

$query = $this->db->get('work');
    return $query;
Run Code Online (Sandbox Code Playgroud)

它只返回人员 ID。但我需要这个人的名字。

Ara*_* Ve 6

尝试:

$query = $this->db->select('*')
                  ->from('work')
                  ->join('person', 'person.id = work.personname')
                  ->get();

return $query;
Run Code Online (Sandbox Code Playgroud)

像这样使用它:

foreach ($query->result() as $row)
{
        echo $row->name;
}
Run Code Online (Sandbox Code Playgroud)

您可以在此处阅读有关如何使用查询构建器的文档:

http://www.codeigniter.com/user_guide/database/query_builder.html