Объединение более 2 таблиц в codeigniter без общих полей

У меня есть 3 таблицы, и я хочу присоединиться к ним. Если бы у этих трех было одно поле, похожее друг на друга, это было бы легко. Проблема в том, что у table1 и table2 есть одно похожее поле, у 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');

Есть ли какое-нибудь решение для этого?


person ITWitch    schedule 01.08.2013    source источник


Ответы (1)


Попробуйте ввести $this->output->enable_profiler(TRUE) в свой контроллер, чтобы увидеть выполненный SQL. Так легче устранять неполадки. Обычно я копирую выполненный SQL и устраняю неполадки в клиенте MySQL, чтобы увидеть, что пошло не так.

person Kong Jin Jie    schedule 01.08.2013