0

3 つのテーブルがあり、それらに参加したいと考えています。これらの 3 つが互いに類似した 1 つのフィールドを持っている場合、それは簡単です。問題は、table1 と table2 に類似のフィールドが 1 つあり、table2 と table3 に別の類似のフィールドがあるが、table1 と table3 を接続する類似のフィールドがまったくないことです。以下のコードを使用して参加しようとしましたが、うまくいきません。フィールド「branch_name」が未定義であるというエラーが発生しました。

    $this->db->select('r.*,                          
                       b.id as branch_id,                           
                       b.name as branch_name');
    $this->db->join('users_branches AS ub', 'ub.user_id = r.user_id');
    $this->db->join('branches AS b', 'b.id = ub.branch_id');

    $this->db->where('payroll_period_id',$payroll_period_id);        
    return $this->db->get('dtr r');

これに対する解決策はありますか?

4

1 に答える 1

0

$this->output->enable_profiler(TRUE)実行された SQL を確認するには、コントローラーに入力してみてください。その方法でトラブルシューティングを行う方が簡単です。通常、実行された SQL をコピーし、MySQL クライアントでトラブルシューティングして、何が問題なのかを確認します。

于 2013-08-01T06:26:08.047 に答える