получить отдельную запись из 3 таблиц, используя соединение в codeigniter

у меня три стола дела,клиенты,посещаемость

в случаях

id start_date end_date client_id status

1 2012-12-30 2013-01-30 1 новый запуск

2 31.12.2012 31.01.2013 2 испытательный срок

в клиентах

идентификатор, имя, пол, статус

1 ТОМ 1987-01-30 М А

2 ДЖЕРРИ 1985-01-31 Ф Д

в посещаемости

статус даты id client_id

1 1 2013-01-30 A

2 1 2013-01-31 P

мне нужен такой результат

case_id case_start_date case_end_date client_id Имя att_date atte_status

1 30.12.2012 30.01.2013 1 ТОМ 30.01.2013,31.01.2013 А,П

Это возможно? я самоучка, и у меня нет хорошей идеи в запросе на соединение, пожалуйста, помогите мне....


person Premjith    schedule 02.01.2013    source источник
comment
На SO уже должен быть 1001 отвеченный вопрос о том, как объединять таблицы. Пожалуйста, найдите его или прочитайте книгу по соединениям таблиц/SQL/базам данных. Хорошим местом для начала может быть столбец «Связанные» справа.   -  person lc.    schedule 02.01.2013


Ответы (2)


попробуй это..

$this->db->select('ca.*,ci.Name,a.date,a.status');
$this->db->from('cases'.' ca');
$this->db->join('clients'.' ci','ca.client_id=ci.id','left');
$this->db->join('attendance'.' a','a.client_id=ci.id','left');
return $this->db->get();

прочтите руководство пользователя, если вы хотите узнать больше о присоединении и активном записи...

person bipen    schedule 02.01.2013

Вот очень простой пример, который поможет вам начать работу с любым количеством объединений общего удовольствия для всех Construcor Code Construct $joins as array:

$joins = array(
    array(
        'table' => 'table2',
        'condition' => 'table2.id = table1.id',
        'jointype' => 'LEFT'
    ),
);

Пример обработки объединения функций в виде массива:

public function get_joins($table, $columns, $joins)
{
    $this->db->select($columns)->from($table);
    if (is_array($joins) && count($joins) > 0)
    {
        foreach($joins as $k => $v)
        {
            $this->db->join($v['table'], $v['condition'], $v['jointype']);
        }
    }
    return $this->db->get()->result_array();
}
person Nishant Lad    schedule 02.01.2013