0

データベースで複数のテーブルを検索しましたが、正しい答えが得られません。これは私のコードです。

$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;
}

出力結果が期待どおりではないため、クエリに問題があると思います。助けてください。

更新: 1.users という 5 つのテーブルがあります。主キーとしてユーザー ID があり、fname と lname があります。2.個人データ。ユーザーIDを外部キーとして持っています。このテーブルには、テーブル users のすべてのユーザー ID が含まれており、ユーザーが雇用されている国情報と天気 (job_seeker または student) が含まれています。3.雇用されている。このテーブルには外部キーとしてユーザー ID があります。ただし、ユーザーのすべての ID がこのテーブルにあるわけではありません。会社などの情報が含まれています。 4.job_seeker。このテーブルには、外部キーとしてのユーザー ID もあります。雇用されていたすべての ID は、job_seeker にはありません。期間・前職経験あり。など 5.学生。このテーブルには、外部キーとしてのユーザー ID もあります。雇用されていた、または job_seeker にあったすべての ID は、学生ではありません。学校/大学、学位、修了予定日の情報があります。

ここで、このすべての情報を 1 つのテーブルにまとめて、コントローラーで使用できるようにしたいと考えています。

現在5人のユーザーがいます。このクエリは、学生テーブルのみの ID を返します。

しかし、私はすべてのユーザーのIDを期待していました。

これで混乱が解消されることを願っています。

4

1 に答える 1

0

クエリをデバッグして、何が起こっているのかを理解してください。次を使用できます:$this->db->last_query();デバッグ用。これがあなたを助けることを願っています。

于 2013-10-24T06:23:11.167 に答える