Php从多个表中获取数据

时间:2013-10-23 15:21:21

标签: php mysql database codeigniter

我在数据库中搜索过多个表,但我得不到正确答案。这是我的代码。

$this->db->select('*');
$this->db->from('users');
$this->db->join('personal_data','personal_data.userid=users.userid','left');
$this->db->join('employed','employed.userid=users.userid','left');
$this->db->join('job_seeker','job_seeker.userid=users.userid','left');
$this->db->join('student','student.userid=users.userid','left');
$query=$this->db->get();
return $query->result();

这是显示代码。

$query=$this->search_people->find_advanced();
foreach ($query as $row) {
    echo $row->userid;
}

我认为问题出在查询中,因为输出结果不符合预期。 请帮助。

更新: 我有5张桌子 1.users。它具有userid作为主键,并具有fname和lname。 2.personal_data。它具有用户标识作为外键。此表包含表用户的所有用户ID并包含用户所在的国家/地区信息和天气,job_seeker或学生。 3.employed。此表将userid作为外键。但是所有用户的ID都不在此表中。它包含公司的信息等。 4.job_seeker。该表还具有userid作为外键。所有使用的ID都不在job_seeker中。它有时间段和以前的工作经验。等等 5.student。该表还具有userid作为外键。所有在职或在job_seeker工作的ID都不在学生中。它有学校/大学,学位和预计完成日期的信息。

现在我想将所有这些信息组合在一个表中,以便我可以在控制器中使用它。

我现在有5个用户。此查询只返回学生表的id。

但我期待所有用户的身份。

我希望这可以解决这个困惑。

1 个答案:

答案 0 :(得分:0)

请调试查询以了解正在发生的事情。 您可以使用:$this->db->last_query();进行调试。 希望这会对你有所帮助。

相关问题