データベースで複数のテーブルを検索しましたが、正しい答えが得られません。これは私のコードです。
$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を期待していました。
これで混乱が解消されることを願っています。